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

На моем хосте 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 {} \; 
  • Не удается удалить <файл>: нет такого файла или каталога
  • Предоставьте предупреждение, когда что-то будет удалено (от root)
  • rm: Ресурсы каталога не пустые
  • dowload find binary, случайно удаленный / usr / bin / find двоичный файл
  • Эффект убийства длинной команды rm
  • Удаление всех файлов в папке, кроме файлов X, Y и Z
  • Почему было отключено мое устройство после того, как «rm» сохранил мои файлы?
  • Алиасирование `rm` для создания CLI" корзины "
  • Удалить каталоги, содержащие определенный файл
  • Почему я не могу удалить «.». каталог?
  • Почему `rm -f! (/ Var / www / wp)` оставляет файлы в / var / www?
  • Как отключить (удалить) специальную ссылку «.», Созданную для папки?
  • Linux и Unix - лучшая ОС в мире.