rm (Unix)
| Typ softwaru | standardní UNIXová utilita či příkaz |
|---|---|
| Některá data mohou pocházet z datové položky. | |
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).
Přepínače
[editovat | editovat zdroj]-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
[editovat | editovat zdroj]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
[editovat | editovat zdroj]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
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku rm (Unix) na anglické Wikipedii.
Externí odkazy
[editovat | editovat zdroj]
Obrázky, zvuky či videa k tématu rm na Wikimedia Commons - rm – dokumentace
rmv Single UNIX Specification