НАЗВАНИЕ
rm - удаление файлов

СИНТАКСИС

Rm [-f] [-i] файл... rm -r [-f] [-i] каталог... [файл...]

ОПИСАНИЕ
Команда rm служит для удаления указанных имен файлов из каталога. Если заданное имя было последней ссылкой на файл, то файл уничтожается. Для удаления пользователь должен обладать правом записи в каталог; иметь право на чтение или запись файла не обязательно. Следует заметить, что при удалении файла в Linux, он удаляется навсегда. Здесь нет возможностей вроде "мусорной корзины" в windows 95/98/NT или команды undelete в DOS. Так что, если файл удален, то он удален!

Если нет права на запись в файл и стандартный ввод назначен на терминал, то выдается (в восьмеричном виде) режим доступа к файлу и запрашивается подтверждение; если оно начинается с буквы y, то файл удаляется, иначе - нет. Если стандартный ввод назначен не на терминал, команда rm ведет себя так же, как при наличии опции -f.

Допускаются следующие три опции:

-f Команда не выдает сообщений, когда удаляемый файл не существует, не запрашивает подтверждения при удалении файлов, на запись в которые нет прав. Если нет права и на запись в каталог, файлы не удаляются. Сообщение об ошибке выдается лишь при попытке удалить каталог, на запись в который нет прав (см. опцию -r).
-r Происходит рекурсивное удаление всех каталогов и подкаталогов, перечисленных в списке аргументов. Сначала каталоги опустошаются, затем удаляются. Подтверждение при удалении файлов, на запись в которые нет прав, не запрашивается, если задана опция -f или стандартный ввод не назначен на терминал и не задана опция -i. При удалении непустых каталогов команда rm -r предпочтительнее команды rmdir , так как последняя способна удалить только пустой каталог. Но команда rm -r может доставить немало острых впечатлений при ошибочном указании каталога!
-i Перед удалением каждого файла запрашивается подтверждение. Опция -i устраняет действие опции -f; она действует даже тогда, когда стандартный ввод не назначен на терминал.

ПРИМЕРЫ Опция -i часто используется совместно с -r. По команде:

Rm -ir dirname запрашивается подтверждение: directory dirname: ?

При положительном ответе запрашиваются подтверждения на удаление всех содержащихся в каталоге файлов (для подкаталогов выполняются те же действия), а затем подтверждение на удаление самого каталога.

ДИАГНОСТИКА
Смысл всех сообщений самоочевиден.

Запрещено удалять файлы. и.., чтобы не нарушить целостность файловой системы. Команда

Rm -r .* приведет к выдаче сообщений об ошибках.

Главная > Операционные системы > UNIX

RM(1)

НАЗВАНИЕ
rm - удаление файлов или каталогов

СИНТАКСИС

Rm [-f] [-i] файл... rm -r [-f] [-i] каталог... [файл...]

ОПИСАНИЕ
Команда rm служит для удаления указанных имен файлов из каталога. Если заданное имя было последней ссылкой на файл, то файл уничтожается. Для удаления пользователь должен обладать правом записи в каталог; иметь право на чтение или запись файла не обязательно.

Если нет права на запись в файл и стандартный ввод назначен на терминал, то выдается (в восьмеричном виде) режим доступа к файлу и запрашивается подтверждение; если оно начинается с буквы y, то файл удаляется, иначе - нет. Если стандартный ввод назначен не на терминал, команда rm ведет себя так же, как при наличии опции -f.

Допускаются следующие три опции:

-f Команда не выдает сообщений, когда удаляемый файл не существует, не запрашивает подтверждения при удалении файлов, на запись в которые нет прав. Если нет права и на запись в каталог, файлы не удаляются. Сообщение об ошибке выдается лишь при попытке удалить каталог, на запись в который нет прав (см. опцию -r).
-r Происходит рекурсивное удаление всех каталогов и подкаталогов, перечисленных в списке аргументов. Сначала каталоги опустошаются, затем удаляются. Подтверждение при удалении файлов, на запись в которые нет прав, не запрашивается, если задана опция -f или стандартный ввод не назначен на терминал и не задана опция -i.
При удалении непустых каталогов команда rm -r предпочтительнее команды rmdir(1) , так как последняя способна удалить только пустой каталог.
-i Перед удалением каждого файла запрашивается подтверждение. Опция -i устраняет действие опции -f; она действует даже тогда, когда стандартный ввод не назначен на терминал.

ПРИМЕРЫ Опция -i часто используется совместно с -r. По команде:

Rm -ir dirname запрашивается подтверждение: directory dirname: ?

При положительном ответе запрашиваются подтверждения на удаление всех содержащихся в каталоге файлов (для подкаталогов выполняются те же действия), а затем подтверждение на удаление самого каталога.

СМ. ТАКЖЕ
rmdir(1) .
rmdir(2) , unlink(2) в Справочнике программиста.

КОДЫ ЗАВЕРШЕНИЯ

0 Все файлы и каталоги были успешно удалены. 2 В противном случае.

ДИАГНОСТИКА
Смысл всех сообщений самоочевиден.

Запрещено удалять файлы. и.., чтобы не нарушить целостность файловой системы. Команда

Rm -r .* приведет к выдаче сообщений об ошибках.

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