📁 Использование команды rmdir для удаления каталогов

by itisgood

rmdir – одна из тех базовых команд Linux, которые вы изучите в самом начале, но почти не будете использовать.

Почему?

Потому что может показаться, что rmdir используется для удаления каталогов (т.е. папок), на самом деле по умолчанию она удаляет только пустые каталоги.

Запутались?

Не стоит.

Давайте разберемся в этом подробнее.

Использование команды rmdir на Linux

Команда rmdir имеет простой синтаксис:

rmdir [option] directory

Рассмотрим его использование.

Удаление пустого каталога

Пустой каталог не содержит файлов или каталогов.

Если у вас есть пустой каталог, его можно легко удалить.

Никаких других опций не требуется.

rmdir directory_name

Удаление непустого каталога

Если вы попытаетесь удалить каталог, содержащий файлы и каталоги, команда завершится неудачей с сообщением об ошибке ‘Directory not empty’.

Вы можете принудительно удалить каталог вместе со всем его содержимым с помощью команды rmdir следующим образом:

rmdir --ignore-fail-on-non-empty directory_name

Хотя это работает, вы никогда не увидите, чтобы кто-то использовал этот метод.

Более распространенным (или популярным) способом удаления непустого каталога в Linux является использование команды rm.

rm -r directory_name

Удаление каталога вместе с родительским каталогом

Если у вас есть вложенная структура каталогов, вы можете указать опцию -p для удаления всей структуры.

Так, если у вас есть структура каталогов a/b/c, вы можете использовать:

rmdir -p a/b/c

Это аналогично rmdir a/b/c a/b a.

Обратите внимание, что каталоги также должны быть пустыми.

Или вы можете использовать флаг –ignore-fail-on-non-empty.

Подробный режим

Существует также режим verbose, который вы можете использовать.

Возможно, вы уже заметили, что команда rmdir не показывает никаких результатов для успешных команд.

Если вы хотите увидеть это, вы можете использовать опцию verbose -v:

rmdir -v directory

И это все о команде rmdir.

Поскольку в большинстве случаев вы будете иметь непустые папки, rmdir не сможет их удалить.

О команде –ignore-fail-on-non-empty мало кто помнит, поэтому команда rm -r более популярна.

см. также:

Хотя это может показаться излишним, на самом деле мне очень нравится rmdir для определенных операций, потому что нет возможности случайно удалить файлы из каталогов, которые вы считали пустыми.

Loading

You may also like

Leave a Comment