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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *