Lệnh rm
trong Linux (viết tắt của “remove”) là một trong các lệnh cơ bản nhất được sử dụng để xóa file, thư mục (directory) và liên kết tượng trưng (symlink) trong hệ điều hành Linux. Hãy cùng Vietnix tìm hiểu thêm về cách sử dụng lệnh rm
trong Linux qua bài viết sau đây.
Cách sử dụng lệnh rm trong Linux
- Xoá một file trong Linux
- Xóa nhiều file bằng lệnh
rm
- Xóa thư mục bằng lệnh rm trong Linux
- Hiển thị thông báo trước khi xóa
- Lệnh
rm -rf
Xoá một file trong Linux
Cú pháp chung của lệnh rm
(remove) trong Linux là:
rm [OPTIONS]... FILE...
Theo mặc định thì lệnh rm
không xóa thư mục, đồng thời cũng không yêu cầu người dùng xác thực việc xóa file.
Để xóa một file duy nhất, ta có thể dùng lệnh rm
như sau:
rm filename
Trong đó “filename” là tên file cần xóa. Nếu không có quyền truy cập vào thư mục cha thì người dùng sẽ gặp lỗi:
Operation not permitted.
Nếu file không được bảo vệ khỏi thao tác ghi (write) thì lệnh rm
sẽ xóa mà không có thông báo gì.
Đối với các file được bảo vệ thì lệnh sẽ yêu cầu xác nhận:
rm: remove write-protected regular empty file 'filename'?
Nhập y rồi nhấn Enter để xác nhận xóa file.
Bên cạnh đó ta còn có thể dùng option -f
để yêu cầu lệnh rm
không cần thông báo, đồng thời bỏ qua các file không tồn tại:
rm -f filename
Nếu muốn xem thêm thông tin về quá trình xóa file, ta có thể thêm option -v
(verbose):
rm -v filename
Output như sau:
removed 'filename'
Xóa nhiều file bằng lệnh rm
Khác với lệnh unlink
, lệnh rm
cho phép ta xóa nhiều file một lúc bằng cách truyền các tên file vào tham số, ngăn cách nhau bởi một khoảng trắng:
rm filename1 filename2 filename3
Ngoài ra ta cũng có thể dùng biểu thức chính quy (regex) để khớp nhiều tên file. Giả sử ta cần xóa các file có đuôi “.png” trong thư mục hiện tại:
rm *.png
Lưu ý rằng ta nên dùng lệnh ls
trước để kiểm tra các file sẽ xóa khi dùng lệnh rm
với biểu thức chính quy.
Xóa thư mục bằng lệnh rm trong Linux
Để xóa một hay nhiều thư mục rỗng, ta có thể truyền tham số -d
như sau:
rm -d dirname
Khi đó, lệnh rm -d
sẽ có vai trò như lệnh rmdir
. Mặt khác, để xóa các thư mục khác rỗng thì ta cần xóa mọi file theo kiểu đệ quy bằng option -r
(recursive):
rm -r dirname
Hiển thị thông báo trước khi xóa
Như đã đề cập ở trên, theo mặc định thì lệnh rm
sẽ không thông báo gì cho người dùng trước khi thực hiện xóa file hay thư mục. Ta có thể truyền thêm option -i
để thông báo cho người dùng:
rm -i filename1 filename2
Nhập y rồi nhấn Enter để xác nhận:
rm: remove regular empty file 'filename1'? rm: remove regular empty file 'filename2'?
Khi xóa nhiều hơn 3 file hoặc xóa thư mục theo kiểu đệ quy, ta có thể rút gọn thông báo bằng option -i
.
rm -i filename1 filename2 filename3 filename4
Bây giờ ta sẽ nhận được thông báo có dạng như sau:
rm: remove 4 arguments?
Lệnh rm -rf
Nếu thư mục hay file được chỉ định nằm bên trong một thư mục được bảo vệ khỏi thao tác ghi thì lệnh rm
sẽ hiện thông báo yêu cầu người dùng xác nhận. Để bỏ qua bước này, ta có thể truyền tham số -f
như sau:
rm -rf dirname
Tuy nhiên, Vietnix không khuyến khích bạn sử dụng lệnh này vì có nguy cơ vô tình xóa các file dữ liệu quan trọng.
Kết luận
Bài viết này đã hướng dẫn sử dụng lệnh rm
trong Linux cho nhiều trường hợp khác nhau: xóa một file, xóa nhiều file, xóa thư mục,… Tuy nhiên, khi xóa bất kỳ dữ liệu nào trên hệ thống thì người dùng cần phải thực hiện vô cùng cẩn thận vì quá trình khôi phục không hề dễ dàng. Chúc các bạn thành công!