Не удалось удалить каталог

На моем хосте OS X у меня возникли проблемы с удалением каталога «foo».

mymac:.Trashes joe$ ls foo mymac:.Trashes joe$ ls foo/ Ảnh011.jpg Ảnh012.jpg Ảnh013.jpg mymac:.Trashes joe$ ls -l foo/ ls: Ảnh011.jpg: No such file or directory ls: Ảnh012.jpg: No such file or directory ls: Ảnh013.jpg: No such file or directory mymac:.Trashes joe$ rm -rf foo/ rm: foo/: Directory not empty mymac:.Trashes joe$ sudo rm -rf foo/ Password: rm: foo/: Directory not empty 

Как вы можете видеть, в каталоге «foo» есть несколько файлов, на которых я могу запускать только ls ; Запуск ls -l возвращает ошибку. Я не могу удалить отдельные файлы или каталог. Использование «Empty Recycle Bin» также не помогло. Я также попробовал «Дисковая утилита» -> «Проверить диск» и «Восстановить диск».

Изменить: по запросу, здесь больше информации

 mymac:.Trashes joe$ ls -del foo/ drwxrwxrwx 2 joe staff 16384 13 May 11:19 foo/ mymac:.Trashes joe$ ls -del foo drwxrwxrwx 2 joe staff 16384 13 May 11:19 foo mymac:.Trashes joe$ LC_ALL=C mymac:.Trashes joe$ ls -ABeli foo/ total 1812 18972612676 -rwxrwxrwx 1 joe staff 305951 13 May 11:19 Ảnh011.jpg 19123958587 -rwxrwxrwx 1 joe staff 309745 13 May 11:19 Ảnh012.jpg 18511775654 -rwxrwxrwx 1 joe staff 310907 13 May 11:19 Ảnh013.jpg mymac:.Trashes joe$ find foo/ foo/ foo//Ảnh011.jpg foo//Ảnh012.jpg foo//Ảnh013.jpg 

4 Solutions collect form web for “Не удалось удалить каталог”

Похоже, что у вас есть имена в foo которые не ссылаются на действительный узел для файла. Я не уверен, как это может произойти или почему rm -rf не удалит запись из каталога, даже если это произойдет.

Но, возможно, если вы свяжете запись в каталоге с допустимым файловым узлом, она удалит? Другими словами, может быть, это?

 touch foo/Ảnh011.jpg rm foo/Ảnh011.jpg 

Хммм. Кто-нибудь еще считает, что // в приведенном ниже результате, ну, неожиданно?

 mymac:.Trashes joe$ find foo/ foo/ foo//Ảnh011.jpg foo//Ảnh012.jpg foo//Ảnh013.jpg 

Я бы ожидал, что это будет показано ниже. Может ли // (что бы это ни было) было ключом к проблеме?

 foo/Ảnh011.jpg foo/Ảnh012.jpg foo/Ảnh013.jpg 

Вы пробовали переименовать файлы в первую очередь? Файлы имеют специальный символ в начале «Ả». Попробуйте сначала переименовать файлы, а затем удалить их.

Ответы выше хорошо, но есть еще одна вещь, которую вы должны знать.

По умолчанию 'ls' (или 'ls -l') не показывает файлы, имена которых начинаются с символа '.' (так называемые «точечные файлы»)

Чтобы убедиться, что вы видите все файлы, используйте 'ls -a'.

Возможно, хотя и не уверен, что у вас есть другие файлы, начинающиеся с символа '.' в 'foo /', и поэтому он не пуст.

Тем не менее, они должны были быть удалены с помощью '/ bin / rm -rf foo', поэтому в этом каталоге должна быть какая-то другая проблема.

Попробуйте удалить файлы с помощью этой команды, а затем удалите папку.

 find . -iname '*.jpg' -exec rm {} \; 
  • Невозможно удалить символические ссылки, разрешение запрещено
  • Как удалить файл, начинающийся с «>» или других необычных символов
  • Я удалил / bin / rm. Как его восстановить?
  • Как удалить символические ссылки, указывающие на файлы в определенной папке?
  • rm -rf не работает при параллельном удалении
  • Предотвратите случайное удаление файла
  • Я случайно вышел из vim с: x! ~, И теперь моя ~ появляется по другому пути
  • Удаление многих файлов, кроме одного типа
  • Как удалить каталог и все его содержимое?
  • Удалите папку с тем же именем, что и переменная среды
  • Удалите файлы и каталоги, даже если они не пусты, кроме некоторых каталогов
  • Linux и Unix - лучшая ОС в мире.