Как удалить каталог, который не пуст? [дубликат]

На этот вопрос уже есть ответ здесь:

Я пытался стереть (удалить ) каталог с одного из моих внутренних жестких дисков, и система сообщает мне, что «Каталог не может быть удален, потому что это не пустой каталог."

Проблема в том, что каталог пуст!

По крайней мере, я не могу видеть ничего внутри него с помощью файлового менеджера 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 и ... Ничего!

У всех одна и та же история. раз я его использовал. Что здесь не так?

Есть ли другая, более мощная команда для удаления каталогов и / или файлов?

0
задан 16 January 2016 в 16:23

2 ответа

Вы можете удалить пустых каталогов с помощью 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 ) вместо ввода вручную.

2
ответ дан 26 July 2019 в 09:26

Ответ Wayne корректен, но если ошибка происходит, можно добавить, что '-f' переключаются на rm, "вызывая" удаление:

sudo rm -rf "/path/to/the/directory"

0
ответ дан 26 July 2019 в 09:26

Другие вопросы по тегам:

Похожие вопросы: