На этот вопрос уже есть ответ здесь:
Я пытался стереть (удалить ) каталог с одного из моих внутренних жестких дисков, и система сообщает мне, что «Каталог не может быть удален, потому что это не пустой каталог."
Проблема в том, что каталог пуст!
По крайней мере, я не могу видеть ничего внутри него с помощью файлового менеджера Thunar или из Терминала с привилегиями root.
Каталог, в котором находится каталог, в который я хочу попасть. delete is, имеет этот вывод в ls-la
:
total 28
drwxrwxrwx 1 root root 4096 ene 15 10:01 .
drwxrwxrwx 1 root root 20480 ene 15 10:01 ..
drwxrwxrwx 1 root root 4096 ene 15 10:01 matrimonio de fiesta sara y luis hernan
И каталог, который я хочу удалить, имеет следующий вывод:
total 8
drwxrwxrwx 1 root root 4096 ene 15 10:01 .
drwxrwxrwx 1 root root 4096 ene 15 10:01 ..
Аналогичный случай с другим каталогом, который имеет 3 файла и каждый раз Я пытался удалить их, система сообщает мне: «Файлы не найдены».
Я пытался с помощью sudo rm -r -f
и ... Ничего!
У всех одна и та же история. раз я его использовал. Что здесь не так?
Есть ли другая, более мощная команда для удаления каталогов и / или файлов?
Вы можете удалить пустых каталогов с помощью rmdir <directory>
и непустых каталогов с помощью rm -r <directory>
.
Что может вызвать проблемы, может быть следующим:
Рассмотрим содержимое этого каталога:
$ tree -a
.
├── empty
├── non-empty
│ └── file.txt
└── non-empty-with-hidden-file
└── .file.txt
У нас есть каталог epty, содержащий файл и один, содержащий скрытый файл. Теперь запустите rmdir *
:
$ rmdir *
rmdir: failed to remove `non-empty': Directory not empty
rmdir: failed to remove `non-empty-with-hidden-file': Directory not empty
$ tree -a
.
├── non-empty
│ └── file.txt
└── non-empty-with-hidden-file
└── .file.txt
Как видите, empty
был удален, а два других вызвали сообщения об ошибках. Теперь вы можете запустить rm -r
:
$ rm -r non-empty
$ tree -a
.
└── non-empty-with-hidden-file
└── .file.txt
Ваша ошибка file not found
, вероятно, вызвана не rm
, а опечаткой в вашем имени файла или пути к каталогу. Этого можно избежать, используя функцию автозаполнения ( Tab kbd>) вместо ввода вручную.
Ответ Wayne корректен, но если ошибка происходит, можно добавить, что '-f' переключаются на rm
, "вызывая" удаление:
sudo rm -rf "/path/to/the/directory"