Cách xóa tệp và thư mục trong Linux Terminal

Thiết bị đầu cuối Bash trên khái niệm máy tính xách tay Ubuntu

Fatmawati Achmad Zaenuri / Shutterstock.com



rm rmdir lệnh xóa tệp và thư mục trên Linux, macOS và các Giống Unix các hệ điều hành. Chúng tương tự như del deltree lệnh trong Windows và DOS. Các lệnh này rất mạnh và có khá nhiều tùy chọn.

Điều quan trọng cần lưu ý là các tệp và thư mục bị xóa bằng cách sử dụng rmrmdir không được chuyển vào Thùng rác. Chúng ngay lập tức bị xóa khỏi máy tính của bạn. Nếu bạn vô tình xóa tệp bằng các lệnh này, cách duy nhất bạn có thể khôi phục chúng là từ bản sao lưu.





Cách xóa tệp bằng rm

Trường hợp đơn giản nhất là xóa một tệp trong thư mục hiện tại. Nhập rm lệnh, một khoảng trắng, sau đó là tên của tệp bạn muốn xóa.

rm

Nếu tệp không có trong thư mục làm việc hiện tại, hãy cung cấp đường dẫn đến vị trí của tệp.



*

Bạn có thể chuyển nhiều tên tệp cho ?. Làm như vậy sẽ xóa tất cả các tệp được chỉ định.

yQuảng cáo

Các ký tự đại diện có thể được sử dụng để chọn các nhóm tệp sẽ bị xóa. n đại diện cho nhiều ký tự và dấu rm đại diện cho một ký tự duy nhất. Lệnh này sẽ xóa tất cả các tệp hình ảnh png trong thư mục làm việc hiện tại.

-i

Lệnh này sẽ xóa tất cả các tệp có phần mở rộng là một ký tự. Ví dụ: điều này sẽ xóa File.1 và File.2, nhưng không xóa File.12.



-f

Nếu một tệp được bảo vệ chống ghi, bạn sẽ được nhắc trước khi tệp bị xóa. Bạn phải trả lời bằng -d hoặc * và nhấn Enter.

lệnh rm với tệp được bảo vệ chống ghi

Để giảm rủi ro khi sử dụng ? với các ký tự đại diện sử dụng dấu -r (tương tác) tùy chọn. Điều này yêu cầu bạn xác nhận việc xóa từng tệp.

-r

lệnh rm trong chế độ tương tác

-f (lực lượng) tùy chọn ngược lại với tương tác. Nó không nhắc xác nhận ngay cả khi các tệp được bảo vệ chống ghi.

rm -rf

Cách xóa thư mục với rm

Để xóa một thư mục trống, hãy sử dụng rm -rf (thư mục) tùy chọn. Bạn có thể sử dụng các ký tự đại diện (treeapt-get) trong tên thư mục giống như bạn có thể làm với tên tệp.

treeQuảng cáo

Việc cung cấp nhiều hơn một tên thư mục sẽ xóa tất cả các thư mục trống đã chỉ định.

tree

Để xóa các thư mục không trống, hãy sử dụng dấu rm (đệ quy) tùy chọn. Để rõ ràng, điều này sẽ xóa các thư mục và tất cả các tệp và thư mục con chứa bên trong chúng.

--one-file-system, --no-preserve-root, --preserve-root

Nếu một thư mục hoặc một tệp được bảo vệ chống ghi, bạn sẽ được nhắc xác nhận việc xóa. Để xóa các thư mục không trống và để loại bỏ các lời nhắc này, hãy sử dụng dấu rmdir (đệ quy) và rm (buộc) các tùy chọn với nhau.

rmdir

Ở đây cần phải có sự chăm sóc. Lỗi với dấu rmdir lệnh có thể gây mất dữ liệu hoặc trục trặc hệ thống. Nguy hiểm , và thận trọng là chính sách tốt nhất. Để hiểu cấu trúc thư mục và các tệp sẽ bị xóa bởi dấu rm , sử dụng rmdir yêu cầu.

Sử dụng rmdir để cài đặt gói này vào hệ thống của bạn nếu bạn đang sử dụng Ubuntu hoặc một bản phân phối dựa trên Debian khác. Trên các bản phân phối Linux khác, hãy sử dụng công cụ quản lý gói của bản phân phối Linux của bạn.

rmdir

Chạy rmdir lệnh tạo ra một sơ đồ đơn giản để hiểu về cấu trúc thư mục và các tệp bên dưới thư mục mà nó được chạy.

rmdir

đầu ra từ lệnh cây

Quảng cáo

Bạn cũng có thể cung cấp một đường dẫn đến clients lệnh khiến nó khởi động cây từ một thư mục khác trong hệ thống tệp.

projects

projects lệnh cũng có rmdir nhưng những tùy chọn này chỉ được đề xuất cho người dùng nâng cao. Nếu bạn gặp sự cố, bạn có thể vô tình xóa tất cả các tệp hệ thống của mình. Tham khảo ý kiến ​​của lệnh trang hướng dẫn sử dụng để biết thêm thông tin.

Cách xóa thư mục với rmdir

Có một lệnh khác, được gọi là rmdir,mà bạn có thể sử dụng để xóa các thư mục.Sự khác biệt giữa--ignore-fail-on-non-emptyrmdirđó làwork/reportschỉ có thể xóa các thư mục trống. Nó sẽ không bao giờ xóa các tập tin.

Trường hợp đơn giản nhất là xóa một thư mục trống. Như với work/quotes, bạn có thể chuyển nhiều tên thư mục cho --ignore-fail-on-non-empty hoặc một đường dẫn đến một thư mục.

Xóa một thư mục trong thư mục hiện tại bằng cách chuyển tên của nó thành work/reports :

rmdir

Xóa nhiều thư mục bằng cách chuyển một danh sách tên đến --ignore-fail-on-non-empty :

rmdirQuảng cáo

Xóa một thư mục không có trong thư mục hiện tại bằng cách chỉ định đường dẫn đầy đủ đến thư mục đó:

work/quotes

Nếu bạn cố gắng xóa một thư mục không trống, rmdir sẽ cung cấp cho bạn một thông báo lỗi. Trong ví dụ sau -p thành công và xóa dấu rmdir nhưng nó từ chối xóa rmdir thư mục vì nó chứa các tệp. rmdir thư mục được giữ nguyên như ban đầu và các tệp trong đó vẫn chưa bị ảnh hưởng.

lệnh rmdir với một thư mục không trống

Khi rmdir đưa ra lỗi Thư mục không trống, nó ngừng xử lý các thư mục đã được chuyển cho nó trên dòng lệnh. Nếu bạn đã yêu cầu nó xóa bốn thư mục và thư mục đầu tiên có tệp trong đó, hãy invoices sẽ cung cấp cho bạn thông báo lỗi và không làm gì thêm. Bạn có thể buộc nó bỏ qua những lỗi này bằng dấu work tùy chọn để các thư mục khác được xử lý.

Trong ví dụ sau, hai thư mục đã được chuyển đến cron, đây là

rm file_1.txt
rm ./path/to/the/file/file_1.txt
.
rm file_2.txt file_3.txt
tùy chọn đã được bao gồm trong lệnh.
rm *.png
thư mục có các tệp trong đó, vì vậy
rm *.?
không thể xóa nó.
rm -i *.dat
lực tùy chọn
rm -f filename
để bỏ qua lỗi và chuyển sang thư mục tiếp theo mà nó cần xử lý, đó là
rm -d directory
. Đây là một thư mục trống và
rm -d directory1 directory2 /path/to/directory3
xóa nó.

Đây là lệnh được sử dụng.

rm -r directory1 directory2 directory3

rmdir với tùy chọn --ignore-fail-on-non-rỗng

Bạn có thể sử dụng dấu

rm -rf directory
(cha mẹ) tùy chọn để xóa một thư mục và xóa cả các thư mục mẹ của nó. Thủ thuật này hoạt động vì
sudo apt-get install tree
bắt đầu với thư mục đích và sau đó quay lại các bước đến thư mục mẹ. Thư mục đó bây giờ sẽ trống, vì vậy nó có thể bị xóa bởi
tree
, và quá trình lặp lại bước sao lưu đường dẫn đã được cung cấp đến
tree path/to/directory
.

Trong ví dụ sau, lệnh được chuyển tới

rmdir directory
Là:

rmdir directory1 directory2 directory3

lệnh rmdir với tùy chọn loại bỏ cha mẹ

Quảng cáo

Cả

rmdir /path/to/directory
rmdir --ignore-fail-on-non-empty work/reports /work/quotes
thư mục bị xóa, theo yêu cầu.


Cho dù bạn đang sử dụng Bash hay bất kỳ trình bao nào khác, Linux cung cấp các lệnh linh hoạt và mạnh mẽ để bạn xóa các thư mục và tệp ngay từ dòng lệnh đầu cuối. Một số người thích có quy trình làm việc xoay quanh thiết bị đầu cuối. Những người khác có thể không có lựa chọn trong vấn đề này. Chúng có thể đang làm việc trên các máy chủ mà không có GUI được cài đặt hoặc trên một phiên từ xa trên một hệ thống không có đầu như Raspberry Pi. Những lệnh này là hoàn hảo cho nhóm người đó.

Nhưng bất kỳ loại quy trình công việc nào bạn thích, các lệnh này rất tốt khi được đưa vào các tập lệnh shell. Nếu một tập lệnh được kích hoạt bởi dấu

rmdir -p work/invoices
công việc, nó có thể giúp tự động hóa các công việc dọn dẹp nhà cửa thông thường như xóa các tệp nhật ký không mong muốn. Nếu bạn điều tra trường hợp sử dụng đó, hãy nhớ sức mạnh của các lệnh này, kiểm tra mọi thứ cẩn thận và luôn duy trì bản sao lưu gần đây.

Lệnh Linux
Các tập tin nhựa đường · pv · con mèo · tac · chmod · nắm chặt · khác biệt · quyến rũ · Với · Đàn ông · pushd · popd · fsck · đĩa thử nghiệm · seq · fd · pandoc · đĩa CD · $ PATH · awk · tham gia · jq · nếp gấp · uniq · Journalctl · đuôi · trạng thái · ls · fstab · Vứt ra · ít hơn · chgrp · băm nhỏ · vòng quay · nhìn · dây · loại · đổi tên · zip · giải nén · gắn kết · umount · Tải về · fdisk · mkfs · rm · rmdir · rsync · df · gpg · chúng tôi · nano · mkdir · từ · ln · · đổi · rclone · cắt nhỏ · srm
Quy trình bí danh · màn hình · đứng đầu · tốt đẹp · Lại đẹp · phát triển · đi lạc · hệ thống · tmux · chsh · Môn lịch sử · tại · lô hàng · rảnh rỗi · cái mà · dmesg · usermod · ps · chroot · xargs · tty · hồng hào · lsof · vmstat · hết giờ · Tường · Đúng · giết · ngủ · sudo · của anh · thời gian · groupadd · usermod · các nhóm · lshw · tắt · khởi động lại · dừng lại · tắt nguồn · passwd · lscpu · crontab · ngày · bg · fg
Kết nối mạng netstat · ping · đường theo dõi · ip · ss · ai là · fail2ban · bmon · bạn · ngón tay · nmap · ftp · Xoăn · wget · ai · tôi là ai · Trong · iptables · ssh-keygen · ufw

CÓ LIÊN QUAN: Máy tính xách tay Linux tốt nhất cho nhà phát triển và người đam mê

ĐỌC TIẾP Ảnh hồ sơ cho Dave McKay Dave McKay
Dave McKay lần đầu tiên sử dụng máy tính khi băng giấy đục lỗ đang thịnh hành, và anh ấy đã lập trình kể từ đó. Sau hơn 30 năm trong ngành CNTT, anh hiện là một nhà báo công nghệ toàn thời gian. Trong sự nghiệp của mình, anh ấy đã làm việc với tư cách là một lập trình viên tự do, quản lý nhóm phát triển phần mềm quốc tế, quản lý dự án dịch vụ CNTT và gần đây nhất là Nhân viên bảo vệ dữ liệu. Bài viết của anh đã được xuất bản bởi howtogeek.com, cloudavvyit.com, itenterpriser.com và opensource.com. Dave là một nhà truyền giáo Linux và người ủng hộ nguồn mở.
Đọc đầy đủ tiểu sử

Bài ViếT Thú Vị