Cách dùng lệnh rm trong Linux
Trong bài này chúng ta sẽ tìm hiểu cách sử dụng lệnh rm trong Linux, đây là lệnh dùng để xóa cả file và thư mục trên hệ điều hành linux.
rm là một tiện ích dòng lệnh, được dùng để xóa các file và thư mục. Đây là một trong những lệnh cần thiết mà mọi người dùng Linux nên làm quen.
Trong hướng dẫn này mình sẽ giải thích cách sử dụng lệnh rm
thông qua các ví dụ, bên cạnh đó cũng có các tùy chọn riêng của lệnh rm
mà bạn 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:
Bài viết này được đăng tại [free tuts .net]
rm [OPTIONS]... FILE...
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 freetuts.txt
.
rm freetuts.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ệ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é. Có nhiều bạn đã inbox hỏi mình là lỡ chạy lệnh này rồi thì có lấy lại được dữ liệu không? Mình xin trả lời là vô phương cứu chữa :3
Như vậy là chúng ta đã học xong cách sử dụng lệnh rm trong Linux, đây là một lệnh rất hay có công dụng như lệnh unlink và rmdir. hẹn gặp lại các bạn ở những bài tiếp theo nhé.