Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Mans FreeBSD по-русски 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 - нет. Кроме этого, перезаписываются только обычные файлы, файлы всех остальных типов - нет.

Домашняя Mans FreeBSD по-русски rm, unlink - удалить объекты директории