Tại sao tôi không thể xóa một thư mục?


14
Could not remove the folder [Folder name].

Show more details
 Error removing file: Directory not empty

Cancel-Skip All-Skip

Tôi đã cố gắng xóa các thư mục này từ thiết bị đầu cuối với:

rm -r

2
Nếu đầu ra lỗi đó là từ nautilus, bạn có thể thêm ảnh chụp màn hình vào câu hỏi của mình. Ngoài ra, đầu ra của rm -rthiết bị đầu cuối là gì? Bạn đã thử với câu trả lời của bài này ?
Lucio

1
sử dụng rm -rfthay thế
nickanor 15/03/13

Tôi đã được sử dụng rm -Rfđể loại bỏ các thư mục đệ quy, có thể đây là công việc cho bạn. Chữ hoa R có nghĩa là đệ quy, xem trang người đàn ôngman rm
đánh dấu lại

1
Bạn có quyền xóa thư mục này không? Vui lòng thực hiện ls -lavà dán nó ở đây để loại bỏ tùy chọn này.
tái hiện

Thư mục là tôi nghĩ đã bị xóa đầu tiên trên windows và sau đó cố gắng xóa trên Ubuntu. Sau đó đã cố gắng xóa trên Windows nhưng cho biết lỗi. Directory not empty Nhưng tất cả là lời hứa trống rỗng. Trên cửa sổ, nó báo lỗiError x00000
tepheno 16/03/13

Câu trả lời:


10

Bạn đã thử chưa sudo rm -r . Có những loại tập tin nào? Bạn cũng có thể xóa tất cả các tập tin trước sau đó xóa thư mục. Đó là công việc làm thêm, nhưng đôi khi nó đáng để hoàn thành công việc.

sudo dành cho các hành động siêu người dùng.


Tôi biết sudo và thư mục không có tệp bên trong chỉ có một thư mục con. Thư mục nghệ sĩ sau đó Thư mục album không có MP3 bên trong. Chỉ cần thư mục.
tepheno

nó hoạt động rất tốt ...
Angelin Nadar

9

Tôi gặp vấn đề này với một thư mục trên hệ thống tập tin btrfs. Kiểm tra điểm gắn kết và lsof là những điều bình thường để tìm kiếm. Trong trường hợp của tôi, đó là lỗi do lỗi cũ gây ra, kể từ khi sửa:

Những điều bình thường cần kiểm tra:

  • lsof + D <path> - Điều này sẽ l i s t tất cả o pen f iles. Bạn không thể xóa một thư mục chứa các tệp đang mở, mặc dù điều đó cũng thường gây ra một lỗi khác: "Thiết bị hoặc tài nguyên bận". Lưu ý rằng nếu bạn bỏ qua "+ D <path>", lsof sẽ hiển thị danh sách cho tất cả các thư mục trên tất cả các hệ thống tệp - sẽ lãng phí thời gian. ;)
  • mount : Điều này sẽ cho bạn thấy các hệ thống tập tin hiện đang gắn kết. Bạn không thể xóa một mountpoint được gắn tích cực hoặc các thư mục mẹ của nó.
  • danh sách phụ btrfs <path> : Tương tự như điểm gắn kết, bạn không thể xóa một subvolume btrfs ngoại trừ bằng cách sử dụng lệnh btrfs-cụ thể: btrfs subvolume xóa <path> .

Giải pháp tham nhũng

Trong trường hợp tham nhũng không thể dễ dàng sửa chữa, cách giải quyết cơ bản là sao lưu, định dạng hệ thống tệp và sau đó khôi phục (loại bỏ dữ liệu xấu). Tùy thuộc vào lượng dữ liệu bạn có trong hệ thống tập tin, đây có thể là một việc vặt. : - /

Trong trường hợp của tôi, thư mục vấn đề nằm trong một subvolume vì vậy tôi có thể thực hiện các thao tác trên nhưng chỉ xóa các subvolume thay vì toàn bộ hệ thống tập tin. Tôi đã sao lưu dữ liệu của mình và xóa subvolume: btrfs sub del <subvolume-path> . Sau đó tôi đã có thể khôi phục vào một subvolume mới, để lại thư mục vấn đề.

Tham nhũng của i_size

Nguyên nhân trong trường hợp của tôi được phát hiện là tham nhũng của i_size , trong đó nó khác không. Btrfs sử dụng i_size để cho biết thư mục có trống hay không. Để kiểm tra điều này, hãy chạy:

stat -c %s <foldername>

I_size của một thư mục trống trong btrfs nên bằng không. Trong ext nó thường là 4k.

Liên kết liên quan:

https://btrfs.wiki.kernel.org/index.php/Pro Hiệu_FAQ#I_cannot_delete_an_empty_directory


6

Hãy thử cdvào thư mục, sau đó loại bỏ tất cả các tệp bằng cách sử dụng rm -rf *. Sau đó thử đi ra khỏi thư mục và sử dụng rmdirđể xóa thư mục.


Điều này hoạt động rất tốt đối với tôi +1 Cảm ơn người đàn ông
AndrewL64 21/07/2015

Tôi đã thử điều này và nhận được thông báo lỗi: "Danh sách đối số quá dài"
Rafael_Espericueta

1

Thử sudo rm -rf [Folder name]

Nếu nó vẫn hiển thị Thư mục không trống, điều đó có nghĩa là thư mục đó đang được sử dụng. cố gắng đóng nó hoặc kiểm tra chương trình nào đang sử dụng nó sau đó sử dụng lại lệnh.

Làm việc cho tôi khi tôi đang cố gắng xóa dự án Unity và nó được sử dụng bởi trung tâm thống nhất. chỉ cần đóng trung tâm thống nhất và viết lại lệnh hoạt động tốt.


0

Chuyển đến thư mục ngay trước khi bạn muốn xóa và thực hiện lệnh này thay đổi tên người dùng theo tên thư mục của bạn: rm -rf Foldername

R có nghĩa là đệ quy và f có nghĩa là lực.


rm: cannot remove Wan Pisu - New World': Directory not empty
tepheno

Bạn đã sử dụng -rf?
Ramon Suarez

-rfTôi nghĩ rằng tôi đã sử dụng rm -r -f -vthưa ông.
tepheno

Tôi vừa thực hiện một thử nghiệm với cùng tên thư mục và nó hoạt động với tôi, cũng sử dụng cách tách rf v của bạn. Bạn có chắc là bạn đang sử dụng rmvà không rmdir? Verbose (-v) có cung cấp cho bạn bất kỳ manh mối nào không? Ngoài ra, có bất kỳ tập tin 0 byte nào trong thư mục của bạn không? "rm -r -f -v Wan \ Pisu \ - \ New \ Thế giới / gỡ bỏ 'Wan Pisu - New World / test.test' thư mục gỡ bỏ: 'Wan Pisu - New World"
Ramon Suarez

không, chúng chỉ là các thư mục Ngoài ra khi tôi xóa nó trên Windows thì Error; 0x-----cũng không thể xóa được. -vđang giải thích những gì đang được thực hiện mà tôi biếtrm --help
tepheno


0

Nếu bạn không có quyền ghi, bạn không thể xóa thư mục.

Ví dụ dưới đây, mặc dù tôi là chủ sở hữu của thư mục, tôi không thể xóa nó. Khi tôi thêm quyền ghi với chmod- mọi thứ đều thành công.

DIR:/xieerqi
skolodya@ubuntu:$ ls -dl TESTDIR/                                              
dr-xr-xr-x 2 xieerqi xieerqi 4096 Jan 24 16:06 TESTDIR//

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              
rm: cannot remove ‘TESTDIR/one & two’: Permission denied
rm: cannot remove ‘TESTDIR/tom&jerry’: Permission denied
rm: cannot remove ‘TESTDIR/jekyl&hide’: Permission denied
rm: cannot remove ‘TESTDIR/pdfReader.sh’: Permission denied

DIR:/xieerqi
skolodya@ubuntu:$ chmod +w TESTDIR/                                            

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              

DIR:/xieerqi
skolodya@ubuntu:$ echo $?
0

0

Tôi có các thư mục trong Windows được gắn vào máy ảo Ubuntu VirtualBox (VM). Tôi không thể xóa chúng khỏi trình quản lý tệp Windows hoặc từ bên trong VM bằng rmdirhoặc rm -Rf *.

TLDR : Cuối cùng tôi đã có thể loại bỏ chúng trong Git Bash (tất nhiên là trong Windows), bằng cách sử dụng rm -Rf *.

Khi tôi cố xóa trong trình quản lý tệp Windows, nó nói rằng tôi cần quyền riêng tư của Quản trị viên để xóa các thư mục. Nhưng, ngay cả khi là Admin, nó vẫn thất bại.

Từ trong Ubuntu VM (nơi tôi chưa bao giờ gặp sự cố khi xóa các tệp được chia sẻ trước đó), tôi đã gặp lỗi cannot remove protocol error, cũng như một số người khác.

Cuối cùng, trong Git Bash trong Windows, tôi đã có thể xóa các thư mục. Tôi đoán rằng Git Bash có một số loại khóa trên các thư mục. Trong Git Bash, thư mục làm việc của tôi là một trong những thư mục tôi đang cố xóa. Tôi đã sao lưu nó và sau đó xóa nó bằng cách sử dụng rm -Rfmà không có bất kỳ lỗi nào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.