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:

    06/02/2026

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

    06/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:

    06/02/2026

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

    06/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

    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng
    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng

    Lệnh groupdel trong Linux là công cụ dòng lệnh dùng để xóa nhóm người dùng khỏi hệ thống. Việc sử dụng groupdel đúng cách giúp hệ thống gọn gàng hơn, hạn chế rủi ro phân quyền sai và tăng tính bảo mật trong quá trình quản trị. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng
    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng

    Lệnh groupadd Linux là tiện ích dòng lệnh dùng để tạo nhóm người dùng mới trên hệ thống, phục vụ cho việc phân quyền và quản lý user theo nhóm. Việc sử dụng group giúp quản trị viên kiểm soát quyền truy cập hiệu quả hơn, giảm rủi ro sai sót và đơn giản hóa…

    09/02/2026

    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng
    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng

    Lệnh usermod trong Linux là công cụ dùng để chỉnh sửa thông tin các tài khoản người dùng đã tồn tại, hỗ trợ quản trị viên cập nhật nhóm, UID, thư mục home, shell và trạng thái tài khoản một cách linh hoạt. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết…

    09/02/2026

    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn
    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn

    Lệnh userdel Linux là công cụ dòng lệnh dùng để xóa tài khoản người dùng khỏi hệ thống và các nhóm liên quan. Công cụ này giúp loại bỏ user không còn sử dụng, góp phần đảm bảo tính gọn gàng và bảo mật cho hệ thống. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    linux

    lenh

    text