rm, unlink

rm, unlink - удалить объекты директории

rm [-f | -i] [-dIPRrvW] file ... unlink файл

Команда rm пробует удалить файлы, указанные в качестве аргументов командной строки, не являющиеся директориями. Если права доступа не позволяют запись, а устройством ввода ( stdin ), является терминал, у пользователю будет запрошено подтверждение удаления.

Поддерживаемые опции:

-d
Попытаться удалить директории, как обычные файлы.
-f
Не запрашивать разрешение на удаление, вне зависимости от установленных прав доступа. В случае отсутствия файла, информация об этом выведена не будет, кроме того не будет изменен код об удачном завершении операции, для информирования о неудачном завершении. Так-же данная опция отменяет любую, ранее полученную, опцию -i.
-i
Интерактивный режим с запросом подтверждения удаления каждого файла, вне зависимости от установленных на файл прав доступа и является-ли терминал устройством stdin. Данная опция отменяет, ранее указанную опцию -f.
-I
Запрос, если удалению подлежит, более 3 файлов, или перед рекурсивным удалением директории. Данная опция обеспечивает почти такой-же уровень защиты от ошибки, как опция -i, при гораздо меньшем количестве запросов подтверждений.
-P
Перезаписывать файлы перед удалением. Сначала файлы перезаписываются значением 0xff, затем 0x00, затем 0xff, после чего удаляются. Файлы с несколькими жёсткими ссылками не могут быть перезаписаны, ни удалены без указания опции -f, при попытке удаления, будет выведено предупреждение.

Если с данной опцией попробовать удалить файл с правами доступа "только чтение", будет выведено сообщение об ошибке а выполнение команды rm будет прервано. Файл при этом, удален или перезаписан, не будет.

-R
Попытаться удалить дерево каталогов, корень которого указан аргументом файл. Данная опция автоматически включает опцию -d. Если так-же указана опция -i, будут выводиться запросы на удаление содержимого каждой директории. В случае, если пользователь не подтвердил удаление директории, удаление текущего каталога будет пропущено.
-r
Аналог опции -R.
-v
Выводит дополнительную информацию при удалении файлов.
-W
Попытаться восстановить файлы, переданые в качестве параметров. В данный момент эта опция может быть использована только для восстановления файлов, "замазанных штрихом" ( covered by whiteouts ) в файловой системе union (см. undelete(2)).

Команда rm удаляет символические ссылки, но сами файлы, на которые эти ссылки указывают, при этом удалены не будут.

При попытке удалить /, . или .. будет выведено сообщение об ошибке.

В случае вызова команды rm, как unlink, может быть передан только один аргумент, который не может быть директорией. В данном режиме не могут быть переданы никакие опции, выполняется только unlink(2) с переданным аргументом.

rm возвращает 0 в случае удачного удаления всех переданных ей каталогов и файлов. В противном случае, результат >0.

Команда rm использует getopt(3) для анализа переданных ей аргументов, что позволяет ей принимать опцию -', которая вызовет остановку обработки переданных флагов там, где эта опция встретится. Это позволяет удалять файлы, имена которых начинаются с символа минус ( - ). Например:

rm -- -filename

Того же результата можно добиться, задавая имя файла с указанием абсолютного или относительного пути. Например:

rm /home/user/-filename
rm ./-filename

Если опция -P указывается совместно с опцией -f, то файл будет перезаписан и удалён даже если он имеет жёсткие ссылки.

Смотри также
chflags(1), rmdir(1), undelete(2), unlink(2), fts(3), getopt(3), symlink(7)

Возможные проблемы
Опция -P подразумевает, что нижележащая файловая система является файловой системой с фиксированными блоками ( fixed-block file system ).
UFS является такой системой, а LFS - нет. Кроме этого, перезаписываются только обычные файлы, файлы всех остальных типов - нет.

оптимизация системы