RM(1) Справочник основных команд FreeBSD RM(1)
НАЗВАНИЕ
rm, unlink -- удалить элементы каталога
СИНТАКСИС
rm [-f | -i] [-dIPRrvW] файл ...
unlink файл
ОПИСАНИЕ
Утилита rm пытается удалить файлы, указанные в командной строке и не
являющиеся каталогами. Если права доступа к файлу не разрешают запись и
устройством стандартного ввода является терминал, то пользователю выво-
дится запрос (через стандартный файл ошибок) на подтверждение действия.
Имеются следующие опции:
-d Пытаться удалять каталоги так же, как и файлы других типов.
-f Пытаться удалять файлы без запроса подтверждения, вне зависимости
от установленных прав доступа к файлу. Если файл не существует,
не выводить никакой диагностической информации и не менять статус
завершения для информирования об ошибке. Опция -f отменяет дей-
ствие любой ранее указанной опции -i.
-i Запрашивать подтверждение перед удалением каждого файла, несмотря
на установленные права доступа к файлу, и вне зависимости от
того, является ли устройство стандартного ввода терминалом или
нет. Опция -i отменяет действие любой ранее указанной опции -f.
-I Запрашивать подтверждение только если удалению подлежит более
трёх файлов, или перед рекурсивным удалением каталога. Установка
этой опции позволяет существенно снизить количество запросов (по
сравнению с опцией -i), и в то же время обеспечивает практически
такой же уровень защиты от ошибок.
-P Перезаписывать обычные файлы перед удалением. Файлы перезаписы-
ваются трижды, сначала значением 0xff, затем 0x00, затем ещё раз
0xff, и только потом удаляются. Файлы с несколькими жёсткими
связями не будут ни перезаписаны, ни удалены (если только не ука-
зана опция -f), а вместо этого будет выводиться предупреждение.
Указание этого флага для файла, имеющего доступ только на чтение,
приведёт к выводу сообщения об ошибке и завершению работы rm.
Файл при этом не будет перезаписан или удален.
-R Пытаться удалить дерево каталогов, корень которого указан аргу-
ментом файл. Эта опция включает действие опции -d. Если указана
опция -i, то у пользователя будет запрашиваться подтверждение
перед обработкой содержимого каждого каталога, а также перед уда-
лением самого каталога. Если пользователь не подтвердит выполне-
ние, то обработка нижележащего дерева каталогов будет пропущена.
-r То же самое, что и -R.
-v Выводить больше информации при удалении файлов, показывая их по
мере их удаления.
-W Пытаться восстановить перечисленные файлы. На текущий момент эта
опция может быть использована только для восстановления файлов,
``замазанных штрихом'' (covered by whiteouts) в файловой системе
union (см. undelete(2)).
Утилита rm удаляет символические ссылки, а не сами файлы, на которые эти
ссылки указывают.
Попытка удалить файлы /, . или .. вызовет ошибку.
Если утилита вызывается как unlink, то ей может быть передан только один
аргумент, который не должен являться каталогом. В таком простом режиме
работы команде не может быть передано никаких опций, утилита только лишь
выполняет операцию unlink(2) с переданным ей аргументом.
СТАТУС ЗАВЕРШЕНИЯ
Утилита rm возвращает 0 в случае, когда все перечисленные файлы или дере-
вья каталогов были удалены, или если была указана опция -f и все суще-
ствующие файлы или деревья каталогов были удалены. В случае возникнове-
ния ошибки rm возвращает значение >0.
ЗАМЕЧАНИЯ
Команда rm использует getopt(3) для анализа переданных ей аргументов, что
позволяет ей принимать опцию `--', которая вызовет остановку обработки
переданных флагов там, где эта опция встретится. Это позволяет удалять
файлы, имена которых начинаются с символа черты (`-'). Например:
rm -- -filename
Того же результата можно добиться, задавая имя файла с указанием абсолют-
ного или относительного пути. Например:
rm /home/user/-filename
rm ./-filename
Если опция -P указывается совместно с опцией -f, то файл будет перезапи-
сан и удалён даже если он имеет жёсткие ссылки.
СОВМЕСТИМОСТЬ
Утилита rm отличается от исторических реализаций тем, что опция -f скры-
вает только попытки удаления несуществующих файлов, вместо сокрытия все-
возможных ошибок. Опция -v нестандартная, и её использование в командных
сценариях нежелательно.
Также исторические BSD реализации осуществляют запросы к пользователю
через стандартный вывод, а не через стандартный файл ошибок.
СМОТРИ ТАКЖЕ
chflags(1), rmdir(1), undelete(2), unlink(2), fts(3), getopt(3),
symlink(7)
СТАНДАРТЫ
Команда rm соответствует IEEE Std 1003.2 (``POSIX.2'').
Упрощённая команда unlink соответствует Version 2 of the Single UNIX
Specification (``SUSv2'').
ИСТОРИЯ
Команда rm появилась в Version 1 AT&T UNIX.
ПРОБЛЕМЫ
Опция -P подразумевает, что нижележащая файловая система является файло-
вой системой с фиксированными блоками (fixed-block file system). UFS
является такой системой, а LFS - нет. Кроме этого, перезаписываются
только обычные файлы, файлы всех остальных типов - нет.
FreeBSD 6.2 26 декабря 2006 FreeBSD 6.2
Последние комментарии
11 недель 4 дня назад
35 недель 6 дней назад
2 года 36 недель назад
3 года 6 недель назад
3 года 29 недель назад
3 года 44 недели назад
3 года 45 недель назад
3 года 48 недель назад
4 года 7 недель назад
4 года 12 недель назад