В Linux всякий раз, когда вы хотите удалить файл, вы должны использовать команду rm. Однако когда дело доходит до удаления каталога, все становится немного сложнее. Для удаления каталога есть специальный инструмент rmdir, который может удалять пустые каталоги. Что, если целевой каталог содержит кучу ненужных файлов?
В этой статье вы узнаете, как удалить непустые каталоги в Linux.
Удаление каталога в Linux
Во-первых, давайте посмотрим, как удалить каталоги в Linux.
Удаление пустого каталога
В этом примере мы установили пустой каталог:
$ tree <dir>
Чтобы удалить каталог, мы можем использовать команду rmdir:
$ rmdir <dir>
Удаление непустого каталога
Когда дело доходит до непустого каталога, ранее упомянутые методы не работают.
Здесь я установил непустой каталог для демонстрации:
$ tree <non_empty_dir>
Попробуйте удалить как обычно, используйте следующую команду:
$ rmdir <non_empty_dir>
$ rm <non_empty_dir>
Чтобы удалить непустой каталог, используйте вместо этого следующую команду rm:
$ rm -vr <non_empty_dir>
Здесь:
- -r: указывает rm рекурсивно удалить содержимое каталога, как файлы, так и подкаталоги.
- -v: указывает rm работать в подробном режиме.
Если вам не нужны какие-либо подсказки к действию, добавьте также флаг «-f»:
$ rm -vrf <non_empty_dir>
Если вы хотите иметь подсказки для действий, используйте вместо этого флаг « -i ». Обратите внимание, что rm запросит все файлы и подкаталоги, которые он собирается удалить:
$ rm -vri <non_empty_dir>
Вместо « -i » флаг « -I » менее навязчив, но при этом защищает от ошибок:
$ rm -vrI <non_empty_dir>
Заключение
В Linux удаление каталога отличается от удаления файлов. Инструменты и методы удаления также различаются в зависимости от того, является ли целевой каталог пустым или нет. В этом руководстве показано, как удалить как пустые, так и непустые каталоги. Обратите внимание, что каталоги и данные, содержащиеся в них и удаленные таким образом, невозможно будет восстановить, кроме как с помощью специальных инструментов и методов . Таким образом, перед удалением убедитесь, что это не что-то важное.
Страницы руководства rm и rmdir содержат дополнительную информацию о различных поддерживаемых параметрах:
$ man rm
$ man rmdir