Rm — Команда удаления файлов — различия между версиями
Vaal (обсуждение | вклад) (Новая страница: «'''rm''' (от '''r'''e'''m'''ove) — утилита в UNIX и UNIX-подобных операционных системах, используемая для…») |
Vaal (обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
== Защита от удаления / == | == Защита от удаления / == | ||
− | Компания Sun Microsystems реализовала защиту от "rm -rf /" в Solaris 10, выпущенном в 2005 году ([http://blogs.sun.com/jbeck/date/20041001#rm_rf_protection Meddling in the Affairs of Wizards]). При выполнении команды система теперь сообщает, что удаление / не разрешено. Вскоре после этого такая же функциональность была реализована в команде rm, поставляемой с FreeBSD. GNU rm не выполняет команду "rm -rf /", если не указан параметр --no-preserve-root ([http://www.gnu.org/software/coreutils/manual/html_node/Treating-_002f-specially.html Treating / specially - GNU Coreutils<!-- Заголовок добавлен ботом -->]). Такое поведение было реализовано в версии GNU Core Utilities версии 6.4, выпущенных в 2006. | + | Компания Sun Microsystems реализовала защиту от ''"rm -rf /"'' в Solaris 10, выпущенном в 2005 году ([http://blogs.sun.com/jbeck/date/20041001#rm_rf_protection Meddling in the Affairs of Wizards]). При выполнении команды система теперь сообщает, что удаление / не разрешено. Вскоре после этого такая же функциональность была реализована в команде rm, поставляемой с FreeBSD. GNU rm не выполняет команду "rm -rf /", если не указан параметр --no-preserve-root ([http://www.gnu.org/software/coreutils/manual/html_node/Treating-_002f-specially.html Treating / specially - GNU Coreutils<!-- Заголовок добавлен ботом -->]). Такое поведение было реализовано в версии GNU Core Utilities версии 6.4, выпущенных в 2006. |
== Пример использования == | == Пример использования == |
Текущая версия на 16:58, 3 апреля 2017
rm (от remove) — утилита в UNIX и UNIX-подобных операционных системах, используемая для удаления файлов из файловой системы. Ключи, использующиеся с rm:
-
-r
— обрабатывать все вложенные подкаталоги. Данный ключ необходим, если удаляемый файл является каталогом, пусть даже пустым. Если удаляемый файл не является каталогом, то ключ-r
не влияет на команду rm. -
-i
— выводить запрос на подтверждение каждой операции удаления. -
-f
— не возвращать код ошибочного завершения, если ошибки были вызваны несуществующими файлами; не запрашивать подтверждения операций.
rm
часто является синонимом команды rm -i
, то есть команда по умолчанию запрашивает подтверждение перед удалением файлов, что позволяет предотвратить их случайное удаление. Если пользователю нужно удалить большое количество файлов без подтверждения операции, можно отменить действие ключа -i
с помощью добавления ключа -f
.
Защита от удаления /
Компания Sun Microsystems реализовала защиту от "rm -rf /" в Solaris 10, выпущенном в 2005 году (Meddling in the Affairs of Wizards). При выполнении команды система теперь сообщает, что удаление / не разрешено. Вскоре после этого такая же функциональность была реализована в команде rm, поставляемой с FreeBSD. GNU rm не выполняет команду "rm -rf /", если не указан параметр --no-preserve-root (Treating / specially - GNU Coreutils). Такое поведение было реализовано в версии GNU Core Utilities версии 6.4, выпущенных в 2006.
Пример использования
rm -rf mydir
— рекурсивно удалить без подтверждения и кода ошибочного завершения файл (или директорию) mydir.
Иногда, в различных конференциях более опытные пользователи, при просьбе дать совет менее опытному, предлагают ввести в консоль команду sudo rm -rf /
, которая в свою очередь удаляет все содержимое корневой папки. По этому поводу существует шутка, т. н. «патч Бармина», гласящая, что данная команда является универсальным способом починить любые проблемы в SCO Unix.