rm (Unix)

Z Multimediaexpo.cz

rm (zkratka pro remove, tj. odstranit) je příkaz používaný v Unixu

Zápis

  • rm -f nedotazovat se před odstraněním souborů určených jen pro čtení, ignoruje neexistující soubory
  • rm -r rekurzivně odstraní soubory v adresáři
  • rm -i dotaz zda se má soubor nebo adresář odstranit
  • rm -v popisuje co právě dělá
  • rm -rf (rm -rf /, 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 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 na jeho odstranění. 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é). Toto 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 Microsystems uvedla ochranu 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 výchozí.


      Příkazy a programy příkazové řádky Unixu
Správa souborů

catchattrcdchmodchownchgrpcksumcmpcpdu • df • file • fsck • fuser • ln • ls • lsattr • lsof • mkdir • mount • mv • pwd • rm • rmdir • split • touch

Správa uživatelů a prostředí

envfingeridlognamemesgpasswdsusudounameuptimewwallwhowhoamiwrite

Správa procesů

atchrootcrontabexitkillkillallnicepgreppidofpkillpspstreesleeptimetopwaitwatch

Zpracování textu

awkcommcsplitcutdiffedexfmtheadiconvjoinlessmorepatchpastereadsedsorttactailteetruniqwcxargs

Programování v shellu

aliasbasenameechoexprfalseprintftesttrueunset

Síťová komunikace

diginetdhostifconfignetstatnslookuppingrloginnctraceroute

Hledání informací

findgrepstrings

Ostatní nástroje

bannerbccaldateddlooklpmansizeyes