Chọn đúng công cụ, xóa thư mục trên Linux trở nên dễ dàng. Sử dụng rmdir cho các đường dẫn trống, rm -r cho thư mục vẫn còn nội dung, và tìm khi bạn chỉ muốn xóa những gì bên trong. Đây là cách xóa thư mục trong Linux, với các cài đặt mặc định an toàn, kiểm tra nhanh chóng và khắc phục lỗi gặp phải. Nếu tốc độ là mục tiêu, hãy xem bảng tóm tắt, sau đó tiếp tục đọc để tìm hiểu các biện pháp an toàn.
Tổng Quan Lệnh: Sao Chép, Dán, Tiếp Tục
Trước khi đi vào chi tiết, dưới đây là những công việc thường xuyên ở một nơi. Sao chép từ cột giữa, sau đó áp dụng ghi chú.
| Nhiệm vụ | Lệnh nhanh an toàn nhất | Cờ bổ sung hoặc ghi chú |
| Xóa thư mục trống | xóa thư mục DIR or rm -d DIR | Thêm -p để xóa thư mục cha nếu chúng trở nên trống. |
| Xóa thư mục không trống với lời nhắc một lần | rm -I -r DIR | Cân bằng giữa tốc độ và an toàn. |
| Xóa thư mục không trống một cách bắt buộc | rm -rf — DIR | Xác minh bằng ls -ld — DIR trước khi bạn chạy nó. |
| Giữ thư mục cha, xóa nội dung | find DIR -mindepth 1 -delete | Xử lý cả các file và thư mục ẩn. |
| Chỉ xóa các thư mục rỗng | tìm DIR -type d -empty -delete | Dọn dẹp sau mỗi lần triển khai. |
| Xóa theo tên file/thư mục | find DIR -type d -name 'cache*' -prune -exec rm -rf {} + | Chạy nhanh trên cấu trúc thư mục lớn. |
Giữ hướng dẫn này gần bạn khi làm việc với cách xóa thư mục trong Linux.
- Tổng Quan Lệnh: Sao Chép, Dán, Tiếp Tục
- Xóa Thư Mục Rỗng bằng rmdir hoặc rm -d
- Xóa Thư Mục Có Nội Dung bằng rm
- Giữ Thư Mục, Xóa Nội Dung Bên Trong
- Xóa Chính Xác bằng find: Tên, Độ Sâu, Loại Bỏ
- Các Cơ Chế An Toàn Bảo Vệ Bạn
- Khắc Phục Sự Cố: "Quyền Truy Cập Bị Từ Chối", "Thư Mục Không Rỗng", Đường Dẫn Đang Sử Dụng
- Dịch Chuyển Thay Vì Xóa: trash-cli và gio trash
- Suy nghĩ cuối cùng
- Câu hỏi thường gặp
Xóa Thư Mục Rỗng bằng rmdir or rm -d

Các thư mục trống là trường hợp rủi ro thấp. Nếu bạn chỉ cần xóa một nhánh lá, rmdir làm chính xác điều đó; nếu bạn muốn ở lại trên rm, sử dụng rm -d cho cùng kết quả. Cả hai lệnh dừng lại khi gặp đường dẫn không rỗng, điều này cung cấp một cơ chế an toàn hữu ích cho những người mới bắt đầu học cách xóa thư mục trong terminal.
- rmdir PROJECT/tmp xóa một thư mục trống và không báo lỗi nếu nó không tồn tại.
- rmdir -p foo/bar/baz xóa đường dẫn rồi xóa các thư mục cha nếu chúng trở nên trống, dọn sạch cấu trúc trong một lần.
- rm -d empty_folder chỉ xóa nếu thư mục trống, tương tự như rmdir cho những ai làm việc trên rm.
- rmdir --ignore-fail-on-non-empty DIR ẩn thông báo lỗi "thư mục không trống" trong script nơi mà tín hiệu sạch sẽ là quan trọng.
- Thêm -v để nhận phản hồi, ví dụ, rmdir -pv foo/bar/baz.
Vấn đề thường gặp khi cố xóa một thư mục trong Linux là nếu thư mục vẫn chứa tệp, rmdir lệnh sẽ từ chối chạy. Đó là dấu hiệu để bạn chuyển sang cách xóa đệ quy.
Đọc thêm: Kết nối đến máy chủ Linux bằng XRDP
Xóa các thư mục không trống bằng rm

Xóa đệ quy là rm -r or rm -rf. Sự cân bằng về cơ bản là giữa tốc độ và các lời nhắc. Những người học cách xóa các thư mục không trống trong Linux bắt đầu với rm -r và thêm một lời nhắc. Các nhóm tự động hóa thêm -f sau khi họ khóa kiểm tra đường dẫn.
Bắt đầu với các mẫu giữ cho bạn yên tâm:
- Nhắc một lần rm -I -r DIR hỏi một lần trước khi nó đi sâu, phù hợp hơn với -i trên những cây lớn.
- Hỏi cho mọi thứ: rm -ri DIR chậm nhưng hữu ích trên các cây nhỏ khi bạn muốn xem mỗi bước.
- Bắt buộc và đệ quy: rm -rf DIR bỏ qua các lời nhắc và hầu hết các lỗi; kiểm tra bằng pwd, ls -ld — DIR, và một echo "$DIR" trước khi bạn nhấn Enter.
- Chi tiết: -v in liệt kê từng đường dẫn bị xóa, ví dụ, rm -rfv build/.
- Bảo vệ root và mount: các hệ thống hiện đại chặn rm -rf / qua –preserve-root; trong scripts, thêm –one-file-system để bạn không vượt qua các mount point.
Trước khi force-delete trên máy đang chạy, dành nửa phút kiểm tra mục tiêu. In nó ra bằng ls -ld — "$DIR", rồi kiểm tra quoting và globs. Cách an toàn để học cách xóa thư mục trong Linux là thử -I trước, sau đó chạy lại không tương tác. Kiểm tra kỹ lưỡng, tạo thói quen lặp lại.
Hosting Linux Đơn Giản
Muốn tìm một cách tốt hơn để lưu trữ trang web và ứng dụng web của bạn? Đang phát triển điều gì đó mới? Hoặc đơn giản là bạn không thích Windows? Vì thế chúng tôi có Linux VPS.
Nhận Linux VPS của bạnTên Lạ, Dấu Gạch Đầu, và Các Trường Hợp Phức Tạp

Một số đường dẫn bắt đầu bằng dấu gạch ngang hoặc chứa byte khiến parsing bị nhầm lẫn. Truyền — để dừng phân tích tùy chọn, hoặc thêm ./ phía trước tên.
Cách an toàn để nhắm đến tên lạ:
rm -r -- --weird
rm -r ./-cache
Những thói quen nhỏ này giúp xóa thư mục trong Linux ít gây căng thẳng hơn nhiều trên máy chủ chia sẻ và phiên làm việc từ xa. Nếu bạn cần giữ lại thư mục cha nhưng xóa nội dung bên trong, hãy chuyển sang các lệnh nhận biết độ sâu; phần tiếp theo trong hướng dẫn Cách Xóa Thư Mục trong Linux sẽ trình bày.
Giữ Thư Mục, Xóa Nội Dung Bên Trong

Rất nhiều công việc cần một thư mục sạch thay vì thư mục bị xóa. Log rotation, build pipeline, VPS housekeeping. Hai pattern bao quát cách xóa tất cả file trong thư mục trong Linux mà giữ lại thư mục cha.
- Bỏ qua thư mục cha bằng tìm:
find /var/tmp/app -mindepth 1 -delete
- Hoặc thực thi rm trên các lô:
find ./cache -mindepth 1 -exec rm -rf {} +
Cả hai xử lý các entry ẩn (dotfile bao gồm), đó là nơi một cách đơn giản rm * bỏ lỡ chúng. Nếu câu hỏi của bạn là cách xóa tất cả file trong thư mục trong Linux, đây là con đường đáng tin cậy.
One-liner có tác dụng, mặc dù nhiều team cần filter theo tên hoặc độ sâu. Đó là nơi tìm cho bạn phạm vi mà không cần đoán.
Đọc thêm: Liệt Kê Dịch Vụ Đang Chạy trên Linux
Xóa Được Nhắm Mục Tiêu Bằng tìm: Tên, Độ Sâu, Loại Bỏ
Bạn có thể muốn xóa chỉ cache tree, chỉ build folder cấp đầu tiên, hoặc chỉ archived log. Dưới đây là tập hợp compact các pattern cho tìm xóa thư mục công việc
| Nhiệm vụ | Ảnh chụp lệnh | Ghi chú |
| Chỉ xóa cache*/ các thư mục dưới dự án | find . -type d -name 'cache*' -prune -exec rm -rf {} + | -prune bỏ qua các thư mục phù hợp; nhanh hơn trên cây thư mục lớn. |
| Xóa thư mục theo độ sâu | find ./dist -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + | Chỉ nhắm đến các thư mục con cấp một dưới dist/. |
| Xóa chỉ các thư mục trống | tìm . -type d -empty -delete | Dọn dẹp sau mỗi lần triển khai. |
| Xóa tệp tin phù hợp với mẫu | find logs -type f -name '*.gz' -delete | Giữ nguyên các tệp nhật ký mới. |
| Xóa tất cả nhưng giữ thư mục cha | find /data/tmp -mindepth 1 -delete | Các dịch vụ tiếp tục sử dụng thư mục cha. |
Sử dụng -print để kiểm tra trước, sau đó xóa nó cho lần chạy thực tế. Đây là phần thực tế của việc xóa thư mục trên Linux, phạm vi có thể dự đoán được với thực hiện nhanh chóng. Gotcha, trên một số bản dựng BusyBox tối thiểu -delete tùy chọn không có; sử dụng -exec rm -rf {} + thay vào đó.
Những mẫu đó đưa bạn đi xa. Thêm một vài biện pháp bảo vệ để tránh sai lầm hiếm gặp nhưng tốn kém.
Các Cơ Chế An Toàn Bảo Vệ Bạn

Các lệnh mạnh mẽ xứng đáng có giá trị mặc định an toàn. Xây dựng những thói quen này để xóa một thư mục trong Linux bằng cách sử dụng các lệnh không làm xáo trộn sự bình tĩnh của bạn.
- Ưu tiên một lời nhắc duy nhất với rm -I -r DIR trong khi bạn xác minh đường dẫn trên màn hình.
- Luôn đặt đường dẫn trong dấu ngoặc kép: rm -rf — "$DIR" bảo vệ chống lại khoảng trắng, ký tự đại diện và tên bắt đầu bằng dấu gạch ngang.
- Xác nhận mục tiêu chính xác: ls -ld — "$DIR" hiển thị một dòng với quyền, chủ sở hữu và đường dẫn.
- Giữ trong cùng một hệ thống tập tin: rm -rf –one-file-system "$DIR" ngăn không cho nhảy vào các khối lượng được gắn kết.
- Bảo vệ root vẫn bật, giữ –preserve-root tại chỗ
- Xóa bit bất biến khi cần: lsattr -d "$DIR" để kiểm tra, chattr -i "$DIR" để loại bỏ nó.
Nếu xóa vẫn thất bại hoặc treo, kiểm tra các nghi phạm thông thường.
Chạy Thử Cleanup trên Cloudzy's Linux VPS, Rồi Tiếp Tục Phát Triển

Nếu bạn muốn một máy chủ từ xa ổn định để thử rm, rmdir, và tìm an toàn, khởi chạy Hosting Linux VPS và làm việc trong một shell sạch sẽ. Nó giá rẻ, nhanh chóng, và có sẵn ở 12 địa điểm toàn cầu với 11 bản phân phối Linux sẵn sàng sử dụng. Bạn nhận được truy cập root, lưu trữ NVMe SSD lưu trữ, và DDR5 RAM trên các gói hiện đại, cộng thêm Bảo vệ DDoS và một 99.95% thời gian hoạt động cam kết. Băng thông cao và độ trễ thấp là một phần của gói, với kết nối tối đa 10 Gbps được liệt kê trên thẻ gói.
- Phạm vi toàn cầu: triển khai ở hơn 12 vị trí, bao gồm New York, Los Angeles, Miami, Amsterdam, London, Germany, Switzerland, Utah, Dallas, Las Vegas, và Singapore, để có tuyến đường nhanh hơn đến người dùng của bạn.
- Quyền truy cập root + 11 bản phân phối: chọn Linux bạn muốn và giữ toàn quyền kiểm soát từ ngày đầu tiên.
- Phần cứng hiện đại: NVMe SSD storage và DDR5 RAM cung cấp năng lượng cho các instance; hiệu suất vẫn sắc nét trong quá trình I/O nặng.
- Mạng + thời gian hoạt động: kết nối độ trễ thấp, băng thông cao, và mục tiêu uptime 99.95% giúp các công việc theo lịch chạy đúng giờ.
- Bảo mật: Bảo vệ DDoS được bao gồm trên toàn bộ máy chủ, vì vậy bảo trì thường xuyên ít có khả năng bị gián đoạn.
- Tiện lợi: các tùy chọn OS được cài đặt trước, IPv6 miễn phí, và nhiều phương thức thanh toán giữ quá trình thiết lập đơn giản.
Thích một desktop đầy đủ? Trong quá trình thanh toán, chọn ứng dụng RDP cho Linux một cú nhấp. Nó cung cấp một Linux VPS với XRDP, GDM3và Giao diện GNOME được cài sẵn trên Ubuntu, để bạn có thể truy cập từ xa chỉ bằng một cú nhấp. Nó chạy ở cùng 12 vị trí và giữ 99.95% thời gian hoạt động mục tiêu. Có không phí bổ sung cho cấu hình RDP được cài đặt trước.
Tóm lại, khởi tạo một máy chủ Linux VPS giá cả phải chăng, chọn distro, giữ quyền root, và nếu cần, thêm giao diện Linux RDP trong khi mua. Sau đó, thực hành xóa các thư mục interactively, snapshot, và lặp lại cho đến khi các lệnh trở thành bản năng.
Khắc Phục Sự Cố: "Quyền Truy Cập Bị Từ Chối", "Thư Mục Không Rỗng", Đường Dẫn Đang Sử Dụng

Hầu hết các lỗi tuân theo một vài mẫu nhất định. Sử dụng quy trình symptom → check → fix để việc xóa một thư mục trong Linux không làm dừng quá trình triển khai của bạn.
1) "Permission denied" trên thư mục bạn sở hữu
Kiểm tra các thuộc tính với lsattr -d DIR. Nếu cờ immutable i được đặt, hãy gỡ bỏ nó bằng sudo chattr -i DIR, sau đó thử lại. Nó xuất hiện trên các hệ thống hardened và một số container.
2) "Operation not permitted" thậm chí với sudo
Xác nhận mount không phải là read-only. mount | grep DIR or findmnt DIR cho bạn thấy trạng thái. Remount thành read-write để thực hiện hoạt động hoặc chỉ định đường dẫn khác.
3) "Directory not empty" sau rmdir
Vẫn còn các mục hiện diện. Chuyển sang:
find DIR -mindepth 1 -delete
Nó bao gồm các tệp ẩn và nội dung lồng nhau.
4) Dịch vụ tái tạo thư mục
Một đơn vị đang chạy ghi vào đường dẫn đó. Dừng hoặc khởi động lại một cách sạch sẽ, rồi xóa. Nếu chính môi trường bị hỏng, hướng dẫn về lệnh systemctl không được tìm thấy giúp bạn sửa lỗi đó trước. Ví dụ, chúng tôi có Nginx ghi vào /var/log/nginx/ trên một staging box. Sau khi dừng nginx.service xóa lsof, quá trình xóa thành công và nhật ký hoạt động bình thường trở lại.
5) "Device or resource busy"
Một quá trình giữ một handle mở trong thư mục. lsof +D THƯ MỤC or fuser -vm THƯ MỤC hiển thị những gì đang chạy; dừng nó một cách an toàn, rồi xóa. Khi bạn cần xem nhanh các socket trước khi xóa log, lệnh Lệnh Netstat trong Linux cung cấp một kiểm tra nhanh.
6) Tên lạ: khoảng trắng, dòng mới, hoặc dấu gạch ngang ở đầu
Sử dụng — or ./ trước các tên bắt đầu bằng dấu gạch ngang, và đặt dấu ngoặc kép cho mọi chuỗi. Để dọn dẹp hàng loạt những tên lạ, chạy find . -print0 | xargs -0 để khoảng trắng không bao giờ làm hỏng lệnh.
Với những sửa chữa này, hầu hết các trở ngại đã được loại bỏ. Nếu không cần lưu giữ vĩnh viễn, hãy sử dụng thùng rác.
Sử dụng Thùng Rác Thay Vì Xóa Vĩnh Viễn: trash-cli và Thùng rác

Bạn không cần xóa mọi thứ vĩnh viễn. Các môi trường desktop và máy chủ hỗ trợ GLib có luồng thùng rác để bạn có thể xem lại và khôi phục. Nếu bạn đang học cách xóa thư mục trong Linux và muốn hướng dẫn từng bước, hãy thử những lệnh này:
- thùng rác đường dẫn di chuyển file và thư mục vào thùng rác; gio list trash:// cho phép bạn duyệt qua.
- Với trash-cli, sử dụng thùng rác PATH, trash-list, trash-restore, và trash-empty cho một quy trình dòng lệnh đơn giản.
Nó chậm hơn rm, nhưng sự đánh đổi về an toàn có ý nghĩa nếu bạn muốn thêm một bước xem lại. Vì vậy, nếu bạn cần biết cách xóa thư mục trong Linux mà không rủi ro dữ liệu thực, hãy bắt đầu với thùng rác, rồi nâng cấp lên rm.
Suy nghĩ cuối cùng
Bây giờ bạn có đủ công cụ để xóa thư mục trong Linux, bao gồm rmdir cho các đường dẫn trống, rm -I -r để xóa đệ quy an toàn, rm -rf chỉ sau khi bạn xác nhận mục tiêu, và find -mindepth 1 -delete khi bạn cần xóa nội dung mà không xóa thư mục cha. Đặt dấu ngoặc kép cho đường dẫn, giữ –preserve-root, ở trên một hệ thống tệp, và gỡ bỏ bit bất biến nếu nó chặn bạn; các kiểm tra khắc phục sự cố sẽ xử lý phần còn lại.
Và đừng quên, nếu bạn cần một máy từ xa sạch sẽ để luyện tập thực tế, hãy khởi động một Cloudzy Linux VPS server; nó giá rẻ và ổn định cho các bài tập thử an toàn, và với một lần bấm Linux RDP Bạn cũng có phiên làm việc trên máy tính để bàn để có thể thực hiện xóa trong giao diện đồ họa đầy đủ.