rm (Unix)
rm
(zkratka pro remove, tj. odstranit) je v informatice příkaz používaný v unixových systémech pro smazání souboru (nebo adresářového stromu).
Typ softwaru | standardní UNIXová utilita či příkaz |
---|---|
Některá data mohou pocházet z datové položky. |
Přepínače
-f
: nedotazovat se před odstraněním souborů určených jen pro čtení, ignoruje neexistující soubory-r
: rekurzivní odstranění souborů v adresáři-i
: dotaz zda se má soubor nebo adresář odstranit-v
: popisuje, co právě dělá
Zápis rm -rf /
nebo rm -rf *
se často vyskytuje v anekdotách o Unixu. V případě, že by tento příkaz byl zadán superuživatelem, způsobil by smazání všech dat na připojených discích s právem zápisu.
V případě, že použijeme rm na smazání symbolického odkazu, bude smazán pouze odkaz a data (resp. soubor) na který symlink odkazoval, zůstanou nedotčená.
Práva
Pro většinu systémových souborů platí, že pro jejich odstranění potřebujeme práva zápisu na jejich nadřazenou složku. Může být matoucí, že pro odstranění souboru nepotřebujeme přímo právo zápisu k souboru samotnému. Pro odstranění složky (rm -r
) musíme obsah vymazat rekurzivně. Proto je nutné mít právo pro zápis i mazání adresáře (jestliže není prázdný), stejně tak je nutné mít tyto práva pro podsložky (neprázdné), což v některých případech vede ke zvláštní situaci, kdy nemůže být podsložka odstraněna proto, že uživatel nemá práva pro zápis. Tedy ani pro odstranění souborů v podsložce. Toto neplatí v případě, že je podsložka prázdná.
Jestliže je soubor v adresáři s nastaveným sticky bitem, poté je pro odstranění nutné, aby uživatel byl zároveň i majitelem.
Zajímavost
Společnost Sun zavedla ochranu pro příkaz rm -rf /
v operačním systému Solaris 10. Při pokusu o provedení příkazu systém oznámí, že odstranění není povoleno.
rm
z projektu GNU odmítne vykonat příkaz rm -rf /
, jestliže je spuštěno s parametrem --preserve-root
, který je od GNU Core Utilities 6.4 implicitně nastaven.
Reference
V tomto článku byl použit překlad textu z článku rm na anglické Wikipedii.
Externí odkazy
- Obrázky, zvuky či videa k tématu rm na Wikimedia Commons
- rm – dokumentace
rm
v Single UNIX Specification