Rm

rm (от англ. remove) — утилита в UNIX и UNIX-подобных системах, используемая для удаления файлов из файловой системы. Ключи, использующиеся с rm:

* `-r` — обрабатывать все вложенные подкаталоги. Данный ключ необходим, если удаляемый файл является каталогом, пусть даже пустым. Если удаляемый файл не является каталогом, то ключ `-r` не влияет на команду rm.
* `-i` — выводить запрос на подтверждение каждой операции удаления.
* `-f` — не возвращать код ошибочного завершения, если ошибки были вызваны несуществующими файлами; не запрашивать подтверждения операций.

Например, команда `rm -rf mydir` рекурсивно удалит без подтверждения и кода ошибочного завершения файл (или каталог) mydir.

`rm` часто является синонимом команды `rm -i`, то есть команда по умолчанию запрашивает подтверждение перед удалением файлов, что позволяет предотвратить их случайное удаление. Если пользователю нужно удалить большое количество файлов без подтверждения операции, можно отменить действие ключа `-i` с помощью добавления ключа `-f`.

## Удаление корневого каталога

[править | править код]

Иногда, в различных конференциях более опытные пользователи, при просьбе дать совет менее опытному, предлагают ввести в консоль команду `sudo rm -rf /`, которая, в свою очередь, удаляет всё содержимое корневой папки. По этому поводу существует шутка, так называемый патч Бармина, гласящая, что данная команда является универсальным способом починить любые проблемы в SCO Unix.

Компания Sun реализовала защиту от `rm -rf /` в Solaris 10, выпущенном в 2005 году[1]. При выполнении команды система теперь сообщает, что удаление / не разрешено. Вскоре после этого такая же функциональность была реализована в команде rm, поставляемой с FreeBSD. GNU не выполняет команду `rm -rf /`, если не указан параметр `--no-preserve-root`[2]. Такое поведение было реализовано в пакете GNU Core Utilities версии 6.4, выпущенном в 2006 году.

Команда `rm -rf /` может повредить UEFI[3].

## См. также

[править | править код]

* cp
* mv
* rmdir

## Примечания

[править | править код]

1. ↑ Meddling in the Affairs of Wizards Архивировано 16 марта 2011 года.
2. ↑ Treating / specially — GNU Coreutils  (неопр.). Дата обращения: 18 апреля 2012. Архивировано 2 апреля 2012 года.
3. ↑ Выполнение rm -rf / может привести к неработоспособности UEFI-прошивки ноутбука  (неопр.). Дата обращения: 17 января 2019. Архивировано 19 января 2019 года.

Команды Unix

Утилиты POSIX.1-2008

* admin
* alias
* ar
* asa
* at
* awk
* basename
* batch
* bc
* bg
* c99
* cal
* cat
* cd
* cflow
* chgrp
* chmod
* chown
* cksum
* cmp
* comm
* command
* compress
* cp
* crontab
* csplit
* ctags
* cut
* cxref
* date
* dd
* delta
* df
* diff
* dirname
* du
* echo
* ed
* env
* ex
* expand
* expr
* false
* fc
* fg
* file
* find
* fold
* fort77
* fuser
* gencat
* get
* getconf
* getopts
* grep
* hash
* head
* iconv
* id
* ipcrm
* ipcs
* jobs
* join
* kill
* lex
* link
* ln
* locale
* localedef
* logger
* logname
* lp
* ls
* m4
* mailx
* make
* man
* mesg
* mkdir
* mkfifo
* more
* mv
* newgrp
* nice
* nl
* nm
* nohup
* od
* paste
* patch
* pathchk
* pax
* pr
* printf
* prs
* ps
* pwd
* qalter
* qdel
* qhold
* qmove
* qmsg
* qrerun
* qrls
* qselect
* qsig
* qstat
* qsub
* read
* renice
* rm
* rmdel
* rmdir
* sact
* sccs
* sed
* sh
* sleep
* sort
* split
* strings
* strip
* stty
* tabs
* tail
* talk
* tee
* test
* time
* touch
* tput
* tr
* true
* tsort
* tty
* type
* ulimit
* umask
* unalias
* uname
* uncompress
* unexpand
* unget
* uniq
* unlink
* uucp
* uudecode
* uuencode
* uustat
* uux
* val
* vi
* wait
* wc
* what
* who
* write
* xargs
* yacc
* zcat

GNU Coreutils

Файловые утилиты|

* chgrp
* chown
* chmod
* cp
* dd
* df
* dir
* dircolors
* install
* ln
* ls
* mkdir
* mkfifo
* mknod[англ.]
* mv
* rm
* rmdir
* shred
* sync
* touch
* vdir

Текстовые утилиты|

* cat
* cksum
* comm
* csplit
* cut
* expand
* fmt
* fold
* head
* join
* md5sum
* nl
* od
* paste
* ptx[англ.]
* pr
* sha1sum
* sort
* split
* sum
* tac
* tail
* tr
* tsort[англ.]
* unexpand
* uniq
* wc

Shell-утилиты|

* basename
* chroot
* date
* dirname
* du
* echo
* env
* expr
* factor[англ.]
* false
* groups[англ.]
* hostid
* id
* link
* logname
* nice
* nohup
* pathchk
* pinky
* printenv[англ.]
* printf
* pwd
* readlink
* seq
* sleep
* stat
* stty
* tee
* test
* true
* tty
* uname
* unlink
* users
* who
* whoami
* yes

другие утилиты|

* size
* Start-stop-daemon
* Surfraw