Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn sử dụng lệnh rmdir để xóa thư mục trong Linux

    Nguyễn Hưng

    Ngày đăng:

    05/02/2026

    Cập nhật lần cuối:

    05/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    05/02/2026

    Cập nhật lần cuối:

    05/02/2026

    Mục lục

    Lệnh rmdir là một công cụ dòng lệnh cơ bản trong hệ điều hành Linux, được thiết kế chuyên biệt để giúp bạn gỡ bỏ các thư mục trống khỏi hệ thống một cách an toàn. rmdir sẽ kiểm tra và chỉ thực hiện lệnh xóa khi thư mục thực sự không chứa tệp tin nào. Bài viết này sẽ hướng dẫn bạn cách sử dụng rmdir từ cơ bản đến nâng cao, giúp việc quản trị hệ thống trở nên đơn giản và an toàn hơn bao giờ hết.

    Những điểm chính

    • Định nghĩa lệnh rmdir: Hiểu rõ khái niệm, mục đích và cú pháp cơ bản của lệnh rmdir.
    • Cú pháp và tùy chọn: Nắm vững cấu trúc lệnh cùng các tham số như -p, -v để tùy chỉnh thao tác xóa linh hoạt và chuyên nghiệp hơn.
    • Các ví dụ thực tế: Nắm vững cách áp dụng rmdir vào các tình huống thực tế, từ xóa thư mục đơn lẻ đến xóa lồng nhau và hiển thị chi tiết quá trình.
    • Lỗi thường gặp: Nhận biết và biết cách khắc phục các lỗi phổ biến khi sử dụng rmdir, giúp bạn xử lý sự cố một cách hiệu quả.
    • So sánh rmdir và rm -r: Phân biệt rõ ràng sự khác biệt giữa rmdirrm -r, giúp bạn chọn đúng lệnh cho từng tác vụ.
    • Cách sử dụng an toàn: Nắm được các phương pháp và mẹo hay để sử dụng rmdir một cách an toàn và chính xác, tránh các sai sót không đáng có.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các tình huống nâng cao như xử lý file ẩn, khi nào nên bỏ qua lỗi và tính tương thích của lệnh.

    Lệnh rmdir là gì?

    Lệnh rmdir (remove directory) là lệnh dùng trong hệ điều hành Linux/Unix để xóa thư mục rỗng khỏi hệ thống tập tin. Nếu thư mục còn chứa file hoặc thư mục con, rmdir sẽ báo lỗi và không thực hiện xóa. Đây là lệnh an toàn, tránh việc xóa nhầm dữ liệu bên trong và thường dùng khi cần dọn dẹp các thư mục không còn sử dụng nữa.

    Lệnh rmdir dùng trong hệ điều hành Linux/Unix để xóa thư mục rỗng khỏi hệ thống tập tin
    Lệnh rmdir dùng trong hệ điều hành Linux/Unix để xóa thư mục rỗng khỏi hệ thống tập tin

    Cú pháp và tùy chọn thường gặp của lệnh rmdir

    Cú pháp của lệnh rmdir tuân theo cấu trúc chuẩn của các lệnh Linux khác, bao gồm các tùy chọn và đối số:

    $ rmdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...

    Trong đó:

    • Các đối số nằm trong dấu ngoặc vuông [] là tùy chọn, dùng để thay đổi hành vi mặc định của lệnh.
    • Các đối số nằm trong dấu ngoặc nhọn <> là bắt buộc, trong trường hợp này là tên của một hoặc nhiều thư mục bạn muốn xóa.

    Các tùy chọn thường được sử dụng phổ biến với rmdir:

    Tùy chọnMô tả
    -p, –-parentsXóa thư mục đích và cả các thư mục cha nếu chúng trở nên rỗng sau khi xóa thư mục con.
    -v, --verboseHiển thị thông báo chi tiết về quá trình xóa cho từng thư mục.
    --ignore-fail-on-non-emptyKhông hiển thị thông báo lỗi nếu thư mục không rỗng (lưu ý: thư mục đó vẫn sẽ không bị xóa).
    --helpHiển thị thông tin trợ giúp.
    --versionHiển thị thông tin phiên bản.

    Xóa một thư mục rỗng

    Đây là cách dùng mặc định của lệnh. Nếu muốn xóa một thư mục có tên là logs-empty và thư mục này không chứa gì bên trong, bạn thực hiện lệnh sau:

    rmdir logs-empty
    Kết quả hiển thị khi thực hiện lệnh xóa một thư mục trống
    Kết quả hiển thị khi thực hiện lệnh xóa một thư mục trống

    iconLưu ý

    Thao tác xóa cần được thực hiện một cách cẩn thận, vì việc xóa nhầm thư mục, dù là thư mục trống, cũng có thể gây gián đoạn nếu đó là một phần của một ứng dụng hoặc kịch bản tự động.

    Xóa chuỗi thư mục lồng nhau bằng -p

    Khi làm việc với một cấu trúc thư mục lồng nhau phức tạp, việc xóa từng thư mục con rồi đến thư mục cha có thể rất tốn thời gian. Tùy chọn -p được tạo ra để giải quyết chính xác vấn đề này, cho phép rmdir không chỉ xóa thư mục được chỉ định mà còn tất cả các thư mục cha của nó, miễn là các thư mục cha đó sẽ rỗng sau khi thư mục con bị xóa.

    Giả sử bạn có chuỗi thư mục a/a1/a2 và tất cả thư mục này đều rỗng, hãy thực hiện xóa bằng lệnh sau:

    rmdir -p a/a1/a2

    Lệnh này sẽ thực hiện xóa theo thứ tự từ trong ra ngoài: a2 sẽ bị xóa trước, sau đó đến a1 và cuối cùng là a.

    Kết quả hiển thị khi bạn xóa chuỗi thư mục rỗng bằng -p
    Kết quả hiển thị khi bạn xóa chuỗi thư mục rỗng bằng -p

    In chi tiết quá trình xóa với -v

    Theo mặc định, sau khi thực thi rmdir, bạn sẽ không nhận được bất kỳ thông báo nào nếu lệnh thành công. Do đó bạn phải chạy thêm lệnh ls để xác minh rằng thư mục đã thực sự bị xóa.

    Để quy trình làm việc hiệu quả hơn, bạn có thể sử dụng tùy chọn -v (verbose mode) để in ra thông báo sau khi xóa mỗi thư mục:

    rmdir -v a b c
    In chi tiết quá trình xóa với -v
    In chi tiết quá trình xóa với -v

    Kết quả sẽ hiển thị rõ ràng từng hành động:

    rmdir: removing directory, 'a'
    rmdir: removing directory, 'b'
    rmdir: removing directory, 'c'

    Bỏ qua thông báo lỗi khi thư mục không rỗng

    rmdir sẽ báo lỗi nếu bạn cố gắng xóa một thư mục không trống. Tuy nhiên, trong các kịch bản tự động hóa (ví dụ: một kịch bản dọn dẹp chạy bởi Jenkins job), lỗi này có thể làm gián đoạn toàn bộ quy trình. Để xử lý tình huống này, rmdir cung cấp tùy chọn --ignore-fail-on-non-empty. Tùy chọn này sẽ bỏ qua tất cả các thông báo lỗi phát sinh do thư mục không trống.

    rmdir --ignore-fail-on-non-empty a1 a2 a3 b* 345 446test
    Bỏ qua lỗi thư mục không rỗng
    Bỏ qua lỗi thư mục không rỗng

    Kết quả cho thấy 345 và 446 test không rỗng sẽ bị bỏ qua, lệnh vẫn tiếp tục với thư mục còn lại

    iconLưu ý

    Tùy chọn này chỉ ngăn chặn việc báo lỗi và không thực sự xóa thư mục không trống, mục đích chính là giúp lệnh trả về một mã thành công (return value 0) ngay cả khi không thể xóa thư mục, qua đó cho phép các kịch bản tự động tiếp tục chạy mà không bị dừng lại.

    Lỗi thường gặp khi dùng rmdir

    • Lỗi “Directory not empty”: Cho thấy thư mục còn file/thư mục con. Để khắc phục, bạn dùng ls -A <thu_muc> để kiểm tra và xóa hết nội dung trước hoặc dùng rm -r.
    • Lỗi “No such file or directory”: Xuất hiện khi sai đường dẫn hoặc thư mục đã bị xóa. Bạn có thể khắc phục bằng cách kiểm tra đường dẫn, dùng tab-complete hoặc realpath.
    • Lỗi “Permission denied”: Lỗi xuất hiện khi bạn không đủ quyền thao tác lên thư mục. Để giải quyết, bạn thêm sudo phía trước lệnh nếu phù hợp, hoặc thay đổi quyền/chủ sở hữu bằng lệnh chown, chmod.
    • Tên thư mục có khoảng trắng/ký tự đặc biệt: Để xử lý lỗi, bạn hãy bọc tên trong dấu nháy ” “ hoặc sử dụng escape ký tự đặc biệt, ví dụ:
    rmdir "my folder"
    rmdir my\ folder"

    So sánh lệnh rmdir và rm -r

    Mặc dù cả hai lệnh đều dùng để xóa thư mục, nhưng chúng có sự khác biệt lớn về mức độ an toàn:

    Tiêu chírmdirrm -r
    Đối tượng xóaChỉ xóa thư mục trống.Xóa thư mục và toàn bộ nội dung bên trong.
    Mức độ an toànAn toàn hơn, khó xóa nhầm dữ liệuThấp. Có thể xóa vĩnh viễn lượng lớn dữ liệu nếu dùng sai.
    Trường hợp khuyên dùngDọn dẹp các thư mục trống, quản lý cấu trúc file.Xóa dự án lớn, xóa thư mục chứa dữ liệu không cần thiết.

    Cách sử dụng lệnh rmdir an toàn

    Để đảm bảo an toàn dữ liệu khi thao tác với dòng lệnh, bạn nên tuân thủ các nguyên tắc sau:

    • Ưu tiên dùng cho thư mục rỗng: Luôn sử dụng rmdir thay vì rm -r khi bạn chỉ muốn xóa các thư mục trống để tránh tai nạn mất dữ liệu.
    • Xóa nhiều thư mục rỗng: Để xóa chuỗi nhiều cấp thư mục rỗng một lần, ban nên áp dụng tuỳ chọn -p. Ví dụ: rmdir -p thu_muc/cha/thu_muc_con.
    • Theo dõi quá trình: Khi cần kiểm soát quá trình xóa nhiều thư mục, bạn nên thêm tuỳ chọn -v để nhận thông báo chi tiết cho từng thao tác.
    • Kiểm tra nội dung trước khi xóa: Nếu chưa chắc thư mục đã rỗng hoàn toàn, bạn có thể kiểm tra nhanh với lệnh: find -mindepth 1 | head.
    • Sử dụng đường dẫn tuyệt đối: Để chắc chắn thao tác chính xác trên thư mục mong muốn, bạn hãy in ra đường dẫn tuyệt đối bằng lệnh pwd (thư mục hiện tại) hoặc readlink -f <ten_thu_muc>.

    Câu hỏi thường gặp

    Vì sao rmdir báo “Directory not empty” dù không thấy file trong thư mục?

    Nguyên nhân phổ biến là thư mục đang chứa các file ẩn mà thông thường bạn không thấy. Để kiểm tra, sử dụng lệnh ls -A để liệt kê toàn bộ file, kể cả file ẩn, hoặc dùng du -ah | head để kiểm tra nhanh dung lượng và danh sách file.

    Có thể bắt buộc rmdir xóa thư mục không rỗng không?

    Không thể. rmdir được thiết kế chỉ cho thao tác với thư mục hoàn toàn rỗng nhằm đảm bảo an toàn cho dữ liệu. Nếu cần xóa cả nội dung bên trong, bạn hãy sử dụng rm -r nhưng phải hết sức cẩn trọng để tránh mất dữ liệu ngoài ý muốn.

    Khi nào nên dùng tuỳ chọn –ignore-fail-on-non-empty?

    Tuỳ chọn này phù hợp khi bạn xóa hàng loạt thư mục và muốn lệnh tiếp tục xử lý số còn lại, kể cả khi gặp thư mục không rỗng. rmdir sẽ không báo lỗi, giúp các kịch bản tự động hóa không bị gián đoạn.

    Cách xử lý rmdir trên các bản phân phối Linux khác nhau

    Đa số các bản phân phối Linux sử dụng GNU coreutils nên hành vi của rmdir là giống nhau. Tuy nhiên, nên kiểm tra tài liệu hướng dẫn (man rmdir) trên hệ thống của bạn để xác thực chi tiết.

    Lệnh rmdir là một công cụ quản trị cơ bản nhưng quan trọng trong hệ điều hành Linux, giúp người dùng xóa các thư mục trống một cách an toàn và hiệu quả. Việc hiểu rõ cú pháp, các tuỳ chọn nâng cao và các trường hợp lỗi khi sử dụng rmdir sẽ giúp bạn chủ động xử lý các tác vụ dọn dẹp hệ thống, tránh nguy cơ mất dữ liệu ngoài ý muốn.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách sử dụng fping để kiểm tra trạng thái của nhiều host cùng lúc
    Cách sử dụng fping để kiểm tra trạng thái của nhiều host cùng lúc

    fping là phiên bản mở rộng của lệnh ping, được dùng để kiểm tra trạng thái của nhiều địa chỉ IP hoặc domain cùng lúc nhanh chóng. Trong bài viết này, mình sẽ cung cấp một hướng dẫn toàn diện về fping, từ việc định nghĩa, cài đặt, cho đến cách khai thác các tính…

    05/02/2026

    Hướng dẫn sử dụng lệnh uptime Linux để kiểm tra thời gian hoạt động của hệ thống
    Hướng dẫn sử dụng lệnh uptime Linux để kiểm tra thời gian hoạt động của hệ thống

    Lệnh uptime Linux là một công cụ dòng lệnh giúp kiểm tra nhanh chóng thời gian hoạt động của máy chủ kể từ lần khởi động gần nhất, thường được sử dụng trong các công việc giám sát, quản lý và đánh giá hiệu suất hoạt động của máy chủ Linux. Trong bài viết này,…

    05/02/2026

    Cách sử dụng lệnh stat Linux chi tiết và đơn giản
    Cách sử dụng lệnh stat Linux chi tiết và đơn giản

    Lệnh stat trong Linux là một tiện ích dòng lệnh dùng để hiển thị thông tin chi tiết về một file hoặc thư mục, cung cấp các thuộc tính như kích thước file, quyền truy cập, quyền sở hữu, các dấu thời gian liên quan đến lần truy cập, chỉnh sửa và thay đổi metadata…

    05/02/2026

    Hướng dẫn check swap space Linux nhanh chóng, chính xác
    Hướng dẫn check swap space Linux nhanh chóng, chính xác

    Swap space được hiểu là vùng đệm lưu trữ dữ liệu tạm thời trên ổ cứng khi dung lượng RAM thực tế không còn đủ để đáp ứng các tiến trình đang chạy. Việc hiểu rõ cơ chế này giúp bạn duy trì sự ổn định của máy chủ, tránh tình trạng treo hệ thống…

    05/02/2026

    linux

    lenh

    text