rm
rm (ад англ.: remove) — утыліта ў UNIX і UNIX-падобных сістэмах, якая ужываецца для выдалення файлаў з файлавай сістэмы. Ключы, якія ўжываюцца з rm:
-r
— апрацоўваць усе ўкладзеныя падкаталогі. Дадзены ключ неабходны, калі файл, які трэба выдаліць, з'яўляецца каталогам, хай нават пустым. Калі файл для выдалення не з'яўляцца каталогам, то ключ-r
не ўплывае на каманду rm.-i
— выводзіць запыт на пацвярджэнне кожнай аперацыі выдалення.-f
— не вяртаць код памылковага завяршэння, калі памылкі былі выкліканы файламі, якіх не існуе; не запытваць пацвярджэнне аперацый.
rm
часта з'яўляецца сінонімам каманды rm -i
, гэта значыць, што прадвызначана каманда запытвае пацвярджэнне перад выдаленнем файлаў, што дазваляе прадухіліць іх выпадковае выдаленне. Калі карыстальніку патрэбна выдаліць вялікую колькасць файлаў без пацвярджэння аперацыі, можна адмяніць дзеянне ключа -i
даданнем ключа -f
.
Ахова ад выдалення /
[правіць | правіць зыходнік]Кампанія Sun рэалізавала ахову ад "rm -rf /" у Solaris 10, выпушчаным у 2005 годзе [1]. Пры выкананні каманды сістэма паведамляе, што выдаленне / не дазволена. Неўзабаве пасля гэтага такая ж функцыянальнасць была рэалізавана ў камандзе rm, якая пастаўляецца з FreeBSD. GNU rm не выконвае каманду "rm -rf /", калі не ўказаны параметр --no-preserve-root[2]. Такія паводзіны былі рэалізаваны ў GNU Core Utilities версіі 6.4, выпушчаных у 2006.
Прыклад ужывання
[правіць | правіць зыходнік]rm -rf mydir
— рэкурсіўна выдаліць без пацвярджэння і кода памылковага завяршэння файл (ці каталог) mydir.
Часам, у розных канферэнцыях больш дасведчаныя карыстальнікі, пры просьбе даць параду менш дасведчанаму, прапануюць увесці ў кансоль каманду sudo rm -rf /
, якая ў сваю чаргу выдаляе ўвесь змест каранёвага каталога. З гэтай нагоды існуе жарт, г.з. "патч Барміна", які тлумачыць што дадзеная каманда з'яўляецца ўніверсальным спосабам адрамантаваць любыя праблемы ў SCO Unix.