.\"- .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 .\" %FreeBSD: src/bin/rm/rm.1,v 1.43 2006/12/26 13:57:40 ru Exp % .\" $FreeBSDru: frdp/doc/ru_RU.KOI8-R/man/man1/rm.1,v 1.3 2007/11/20 13:50:08 ru Exp $ .\" $FreeBSD$ .\" .Dd 26 декабря 2006 .Dt RM 1 .Os .Sh НАЗВАНИЕ .Nm rm , .Nm unlink .Nd удалить элементы каталога .Sh СИНТАКСИС .Nm .Op Fl f | i .Op Fl dIPRrvW .Ar .Nm unlink .Ar файл .Sh ОПИСАНИЕ Утилита .Nm пытается удалить файлы, указанные в командной строке и не являющиеся каталогами. Если права доступа к файлу не разрешают запись и устройством стандартного ввода является терминал, то пользователю выводится запрос (через стандартный файл ошибок) на подтверждение действия. .Pp Имеются следующие опции: .Bl -tag -width indent .It Fl d Пытаться удалять каталоги так же, как и файлы других типов. .It Fl f Пытаться удалять файлы без запроса подтверждения, вне зависимости от установленных прав доступа к файлу. Если файл не существует, не выводить никакой диагностической информации и не менять статус завершения для информирования об ошибке. Опция .Fl f отменяет действие любой ранее указанной опции .Fl i . .It Fl i Запрашивать подтверждение перед удалением каждого файла, несмотря на установленные права доступа к файлу, и вне зависимости от того, является ли устройство стандартного ввода терминалом или нет. Опция .Fl i отменяет действие любой ранее указанной опции .Fl f . .It Fl I Запрашивать подтверждение только если удалению подлежит более трёх файлов, или перед рекурсивным удалением каталога. Установка этой опции позволяет существенно снизить количество запросов (по сравнению с опцией .Fl i ) , и в то же время обеспечивает практически такой же уровень защиты от ошибок. .It Fl P Перезаписывать обычные файлы перед удалением. Файлы перезаписываются трижды, сначала значением 0xff, затем 0x00, затем ещё раз 0xff, и только потом удаляются. Файлы с несколькими жёсткими связями не будут ни перезаписаны, ни удалены (если только не указана опция .Fl f ) , а вместо этого будет выводиться предупреждение. .Pp Указание этого флага для файла, имеющего доступ только на чтение, приведёт к выводу сообщения об ошибке и завершению работы .Nm . Файл при этом не будет перезаписан или удалён. .It Fl R Пытаться удалить дерево каталогов, корень которого указан аргументом .Ar файл . Эта опция включает действие опции .Fl d . Если указана опция .Fl i , то у пользователя будет запрашиваться подтверждение перед обработкой содержимого каждого каталога, а также перед удалением самого каталога. Если пользователь не подтвердит выполнение, то обработка нижележащего дерева каталогов будет пропущена. .Pp .It Fl r То же самое, что и .Fl R . .It Fl v Выводить больше информации при удалении файлов, показывая их по мере их удаления. .It Fl W Пытаться восстановить перечисленные файлы. На текущий момент эта опция может быть использована только для восстановления файлов, .Dq "замазанных штрихом" (covered by whiteouts) в файловой системе union (см.\& .Xr undelete 2 ) . .El .Pp Утилита .Nm удаляет символические ссылки, а не сами файлы, на которые эти ссылки указывают. .Pp Попытка удалить файлы .Pa / , .Pa .\& или .Pa .. вызовет ошибку. .Pp Если утилита вызывается как .Nm unlink , то ей может быть передан только один аргумент, который не должен являться каталогом. В таком простом режиме работы команде не может быть передано никаких опций, утилита только лишь выполняет операцию .Xr unlink 2 с переданным ей аргументом. .Sh СТАТУС ЗАВЕРШЕНИЯ Утилита .Nm возвращает 0 в случае, когда все перечисленные файлы или деревья каталогов были удалены, или если была указана опция .Fl f и все существующие файлы или деревья каталогов были удалены. В случае возникновения ошибки .Nm возвращает значение >0. .Sh ЗАМЕЧАНИЯ Команда .Nm использует .Xr getopt 3 для анализа переданных ей аргументов, что позволяет ей принимать опцию .Sq Li -- , которая вызовет остановку обработки переданных флагов там, где эта опция встретится. Это позволяет удалять файлы, имена которых начинаются с символа черты .Pq Sq - . Например: .Pp .Dl "rm -- -filename" .Pp Того же результата можно добиться, задавая имя файла с указанием абсолютного или относительного пути. Например: .Pp .Dl "rm /home/user/-filename" .Dl "rm ./-filename" .Pp Если опция .Fl P указывается совместно с опцией .Fl f , то файл будет перезаписан и удалён даже если он имеет жёсткие ссылки. .Sh СОВМЕСТИМОСТЬ Утилита .Nm отличается от исторических реализаций тем, что опция .Fl f скрывает только попытки удаления несуществующих файлов, вместо сокрытия всевозможных ошибок. Опция .Fl v нестандартная, и её использование в командных сценариях нежелательно. .Pp Также исторические .Bx реализации осуществляют запросы к пользователю через стандартный вывод, а не через стандартный файл ошибок. .Sh СМОТРИ ТАКЖЕ .Xr chflags 1 , .Xr rmdir 1 , .Xr undelete 2 , .Xr unlink 2 , .Xr fts 3 , .Xr getopt 3 , .Xr symlink 7 .Sh СТАНДАРТЫ Команда .Nm соответствует стандарту .St -p1003.2 . .Pp Упрощённая команда .Nm unlink соответствует спецификации .St -susv2 . .Sh ИСТОРИЯ Команда .Nm появилась в .At v1 . .Sh ПРОБЛЕМЫ Опция .Fl P подразумевает, что нижележащая файловая система является файловой системой с фиксированными блоками (fixed-block file system). UFS является такой системой, а LFS \[en] нет. Кроме этого, перезаписываются только обычные файлы, файлы всех остальных типов \[en] нет.