Hướng dẫn sử dụng lệnh rm trong Linux

Hướng dẫn chi tiết cách sử dụng lệnh rm trong Linux - lệnh dùng để xóa cả file và thư mục; mà người dùng Linux cần phải biết.

1. Cú pháp lệnh rm trong Linux

Cú pháp chung của lệnh rm như sau:

rm [OPTIONS]... FILE...

Hướng dẫn sử dụng lệnh rm trong Linux

Theo mặc định thì bạn có thể xóa file mà không cần truyền OPTION nào vào cả. Lúc này nó sẽ không xóa thư mục, cũng như không nhắc hỏi người dùng có tiếp tục xóa các file hay khônng.

Ví dụ:

  • Dưới đây mình sử dụng lệnh rm để xóa file blogkdata.txt.
rm blogkdata.txt

Nếu bạn không có quyền ghi trên thư mục cha của file cần xóa thì sẽ gặp lỗi "Operation not permitted".

Nếu file không được bảo vệ thì nó sẽ xóa mà không cần thông báo. Khi xóa thành công nó sẽ không in ra thông báo gì mà chỉ return về 0.

  • Khi bạn xóa một file được bảo vệ thì nó sẽ hỏi nhắc bạn là có tiếp tục xóa không như sau:
rm: remove write-protected regular empty file 'filename'?

Bạn hãy nhập "y" và sau đó nhấn Enter để tiếp tục xóa.

  • Nếu bạn thấy thông báo này quá phiền thì sử dụng tùy chọn -f (--force) để tắt thông báo đó đi nhé.
rm -f filename
  • Nếu bạn muốn lấy tin về những file và thư mục bị xóa thì hãy sử dụng tùy chọn -v (verbose).
rm -v filename
  • Kết quả:
removed 'filename'

2. Xóa nhiều file bằng lệnh rm trong Linux

Không giống như lệnh unlink, lệnh rm cho phép bạn xóa nhiều file cũng lúc, cũng như có thể xóa cả thư mục và file, còn lệnh unlink thì chỉ xóa được file mà thôi.

  • Để xóa nhiều file cùng lúc thì hãy thêm danh sách các file và ngăn cách bởi khoảng trắng.
rm filename1 filename2 filename3

Bạn có thể sử dụng biểu thức chính quy để trả về danh sách file cần xóa, lúc này lệnh rm sẽ xóa theo danh sách đó.

Ví dụ:

Dưới đây mình sẽ xóa tất cả file cảnh có phần đuôi là .png.

rm *.png

Lưu ý là khi xóa file bằng biểu thức chính quy thì bạn nên sử dụng lệnh ls để liệt kê xem các file có chuẩn hay chưa, chuẩn rồi thì mới chạy lệnh rm.

3. Xóa thư mục bằng lệnh rm trong Linux

  • Để xóa thư mục thì bạn phải thêm tùy chọn -d nhé.
rm -d dirname

rm -d có công dụng giống như lệnh rmdir trong Linux.

  • Để xóa các thư mục không có dữ liệu và tất cả các file bên trong bằng cách đệ quy thì hãy sử dụng tùy chọn -r (recursive):
rm -r dirname

Lúc này dù bạn có bao nhiêu cấp thư mục đi nữa thì thuật toán đệ quy cũng duyệt và xóa lần lượt từ con tới cha.

4. Thông báo xóa của lệnh rm trong Linux

  • Tùy chọn -i yêu cầu lệnh rm nhắc người dùng xác nhận trước khi xóa dữ liệu.
rm -i filename1 filename2
  • Lệnh này sẽ nhận được hai thông báo như sau:
rm: remove regular empty file 'filename1'?
rm: remove regular empty file 'filename2'?
  • Khi xóa nhiều hơn ba file hoặc xóa đệ quy thì nếu bạn muốn chỉ nhận được một lời nhắc duy nhất thì hãy sử dụng tùy chọn -I.
rm -i filename1 filename2 filename3 filename4
  • Hệ thống sẽ hỏi bạn như sau:
rm: remove 4 arguments?

5. Lệnh rm -rf Linux

Nếu thư mục hoặc file cần xóa được bảo vệ chống ghi thì lệnh rm sẽ nhắc bạn xác nhận thao tác xóa. Nếu bạn muốn xóa một thư mục mà không cần nhắc thì thêm tùy chọn -f.

rm -rf dirname

Lưu ý: Lệnh trên sẽ xóa toàn bộ các file và thư mục theo thuật toán đệ quy. Vì vậy đây là một lệnh cực kì nguy hiểm, bạn phải cẩn thận khi sử dụng nó nhé. Lỡ chạy lệnh này rồi thì vô phương lấy lại được dữ liệu nha.

Chúc bạn sử dụng lệnh rm trong Linux thành công!