Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Linux

Khắc Phục Lỗi 'rmdir: Directory Not Empty' Trên Linux & Windows

Rmdir là một tiện ích dòng lệnh trong Linux và Windows có thể dùng để xóa thư mục không rỗng. Đây là tiện ích hữu ích so với tiện ích rm tiêu chuẩn vì rm có thể xóa thư mục ngay cả khi chúng không rỗng. Nó giúp ích trong trường hợp bạn chỉ muốn xóa thư mục không rỗng, và ngăn chặn việc vô tình xóa thư mục chứa file.

Lỗi 'rmdir: directory not empty' xảy ra khi bạn chạy lệnh rmdir trên một thư mục không rỗng, nghĩa là nó chứa file hoặc thư mục khác bên trong. Đây là hành vi dự kiến của lệnh rmdir, và nó sẽ báo lỗi khi bạn chạy nó trên thư mục không rỗng trong Linux hoặc các hệ điều hành khác có tiện ích rmdir.

Làm Thế Nào Để Khắc Phục 'rmdir: Directory Not Empty' Trên Linux?

Có một vài cách sửa đơn giản bạn có thể thử để loại bỏ lỗi này. Ngoài việc chạy lệnh trên thư mục không rỗng, lỗi này cũng có thể xảy ra do vấn đề symlink, среди những thứ khác.

Chúng tôi sẽ cho bạn biết các cách sửa khác nhau bạn có thể thử.

1. Sử Dụng Tham Số "rm -rf"

Bạn có thể dùng tiện ích dòng lệnh 'rm' trong Linux để xóa thư mục không rỗng nếu bạn gặp lỗi này. Để xác minh xem thư mục có không rỗng không và lỗi không do nguyên nhân khác, chỉ cần chạy lệnh 'ls -a' trên thư mục bạn muốn xóa. Nếu bạn thấy file trong thư mục, như kết quả của 'ls -a' sẽ cho bạn thấy, thì bạn có thể chạy lệnh 'rm -rf' để xóa thư mục.

Ví dụ:

Chúng ta muốn xóa thư mục abcd.

Chúng ta chạy lệnh 'ls -a' để kiểm tra xem thư mục có không rỗng không, và nó cho thấy có một số file bên trong thư mục.

Chúng ta có thể chạy lệnh rmdir trên thư mục nhưng nó sẽ báo lỗi vì thư mục không rỗng.

Giải pháp đơn giản nhất ở đây là dùng rm -rf trên thư mục.

rm -rf abcd

Tùy chọn -r có nghĩa là đệ quy, tức là xóa mọi thứ bên trong thư mục một cách đệ quy (các thư mục khác bên trong cũng sẽ bị xóa.)

Tùy chọn -f có nghĩa là force delete, tức là trong trường hợp này, tùy chọn force ngụ ý xóa thư mục ngay cả khi nó không rỗng.

Nếu bạn muốn xóa một thư mục mà user của bạn không có quyền ghi, thì bạn có thể dùng:

sudo rm -rf

Việc sử dụng sudo với rm chỉ được khuyến nghị khi bạn biết mình đang làm gì và thư mục bạn muốn xóa không phải là thư mục hệ thống vì user root có thể xóa cả thư mục hệ thống.

2. Sử Dụng Trình Quản Lý File Để Xóa Thư Mục:

Trong một số trường hợp, vì lý do không rõ, người dùng báo cáo rằng họ không thể xóa file bằng tiện ích rm ngay cả khi dùng cờ -f và -r nhưng vẫn xóa được bằng trình quản lý file. Bạn cũng có thể thử cách đó.

Trong Ubuntu và nhiều distro Linux khác, trình quản lý file được cài sẵn. Bạn có thể dùng các trình quản lý file đó để xóa thư mục hoặc folder. Nếu bạn dùng Ubuntu, bạn có thể dùng Nautilus File Manager được cài sẵn trong nó để xóa thư mục. Các trình quản lý file khác cũng có thể dùng. Nautilus chỉ là ví dụ.

Khắc Phục Lỗi rmdir: Directory Not Empty Trên Windows:

Lỗi này cũng có thể xảy ra trên Windows khi cố gắng xóa thư mục bằng command prompt hoặc PowerShell. Để khắc phục lỗi này trên Windows, bạn có thể thử:

  • Dùng phương pháp rm -rf như hướng dẫn ở phần Linux trên.
  • Đảm bảo thư mục bạn muốn xóa không bị chương trình nào khác truy cập. Nếu có, dùng Task Manager để kill chương trình đó.

Sau đó thử xóa thư mục sau đó trong cmd hoặc powershell dùng rmdir hoặc rm -rf.

VỀ TÁC GIẢ

Khắc Phục Lỗi  rmdir: Directory Not Empty  Trên Linux & Windows

Kevin Arrows

Kevin Arrows là chuyên gia công nghệ giàu kinh nghiệm và kiến thức với hơn một thập kỷ kinh nghiệm trong ngành. Anh持有 chứng chỉ Microsoft Certified Technology Specialist (MCTS) và có đam mê sâu sắc về việc cập nhật các phát triển công nghệ mới nhất. Kevin đã viết nhiều về nhiều chủ đề liên quan đến công nghệ, thể hiện chuyên môn và kiến thức trong các lĩnh vực như phát triển phần mềm, an ninh mạng và điện toán đám mây. Đóng góp của anh cho lĩnh vực công nghệ đã được công nhận và tôn trọng rộng rãi bởi đồng nghiệp, và anh được đánh giá cao về khả năng giải thích các khái niệm kỹ thuật phức tạp một cách rõ ràng và súc tích.