10.6. Удаление: rm и rmdir

10.6.1. rm

Команда rm(1) удаляет файлы и целые деревья каталогов. Пользователи DOS найдут её похожей на команды del и deltree. rm может быть очень опасной, если вы не следите за своими действиями. Хотя в некоторых случаях можно восстановить только что удалённый файл, это может оказаться слишком сложным процессом (и, возможно, дорогостоящим), и его рассмотрение выходит за рамки этой книги.

Чтобы удалить один файл, укажите его имя при запуске rm:

% rm file1

Если для файла отсутствуют права на запись, вы можете получить сообщение об ошибке с отказом в доступе. Чтобы принудительно удалить неважно какой файл, используйте опцию -f, например так:

% rm -f file1

Чтобы удалить целый каталог, используйте одновременно две опции -r и -f. Ниже представлен хороший пример, удаляющий всё содержимое на вашем жёстком диске. И вам наверняка не захочется его выполнить. А вот и сама команда:

# rm -rf /

Будьте осторожны при работе с rm. Вы можете “выстрелить себе в ногу”. У этой команды также есть различные опции, которые хорошо описаны на странице руководства.

10.6.2. rmdir

Команда rmdir(1) удаляет каталоги из файловой системы. Каталог должен быть пуст перед удалением. Синтаксис довольно прост:

% rmdir <каталог>

В этом примере в текущем каталоге удаляется подкаталог hejaz:

% rmdir hejaz

Если удаляемый каталог не существует, rmdir сообщит вам об этом. Вы также можете указать полный путь к каталогу, например, так:

% rmdir /tmp/hejaz

В этом примере будет сделана попытка удаления каталога hejaz, находящегося в каталоге /tmp.

Вы также можете удалить каталог и все его родительские каталоги с помощью опции -p.

% rmdir -p /tmp/hejaz

В этом примере будет сначала сделана попытка удаления каталога hejaz, находящегося в каталоге /tmp. Если попытка удастся, утилита попытается удалить /tmp. Работа rmdir будет продолжаться до тех пор, пока не возникнет ошибка или не будет удалено всё указанное дерево.