Содержание
Вопрос: Каким способом можно удалить директорию в Linux, какую команду можно использовать?
Ответ: Чтобы удалить директорию (также известную как «папка» в ОС Windows и Mac OS), Вы можете воспользоваться следующими командами:
- rmdir – удаляет указанную директорию при этом она должна быть пуста, т.е. не содержать файлов.
- rm – удаляет указанную директорию вместе со всеми вложенными файлами и директориями.
Синтаксис команды rmdir
rmdir удаляет директорию(и) только если они не содержат файлов. Синтаксис команды довольно прост:
rmdir directory-name
rmdir [option] directory-name
Примеры
Откройте терминал и введите следующую команду чтобы удалить директорию /tmp/docs:
rmdir /tmp/docs
Если директория содержит файлы, то команда выдаст ошибку:
$ rmdir letters
rmdir: letters: Directory not empty
Вы можете зайти в директорию и узнать что за файлы там хранятся:
$ cd letters
$ ls
В следующем примере, удалим директорию data, foo и bar. Структура этих директорий следующая: data содержит только директорию foo, которая, в свою очередь, содержит только директорию bar, которая пуста. Удалить сразу все эти директорию можно следующей командой:
cd /home/nixcraft
rmdir -p data/foo/bar
Где,
- Параметр -p указывает команде, чтобы было произведено удаление пустых директорий по всему указанному пути. Т.е. в нашем примере будет удалены все три директории, т.к. они не содержат никаких файлов, а только пустые вложенные директории.
Удаление всей директории со всеми вложенными файлами и директориями командой rm
В повседневной работе гораздо чаще приходится удалять не пустые директории, и тут на на помощь приходит команда rm. К примеру, удалить все содержимое директории letters можно командой (Осторожно! удаление без подтверждения):
$ rm -rf letters/
Где,
- -r – указывает что нужно производить удаление рекурсивно, т.е. пройтись по всему списку файлов и папок и попытаться удалить каждую из них.
- -f — удаление без запроса его подтверждения.
Дополнительная информация о командах rmdir и rm
Чтобы получить дополнительную информацию по этим командам, Вы всегда можно воспользоваться следующей стандартной командой-справочником-подсказкой-документацией:
man mkdir
man rm
Почему существует две различные команды для одной операции?
Казалось бы, а зачем создавать отдельную команду для удаления только пустых директорий, если можно воспользоваться rm? Но, вдумавшись, понимаешь, что это была просто великолепная идея! Почему? Да потому что невозможно запомнить какие и где файлы хранятся, и когда нужно удалить директорию с каким-нибудь глупым или подозрительным названием (явно созданную по ошибке) можно воспользоваться безопасной командой rmdir, которая выдаст ошибку если в этой директории есть какие-то файлы. Очень удобно! Это защищает от случайного удаления.
По материалам отличного сайта cyberciti.biz. Желаю Вам хорошего дня и переходите на Linux!