Rm (Unix)

rm
Typ softwarustandardní 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

  • -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 (Unix) na anglické Wikipedii.

Externí odkazy

  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu rm na Wikimedia Commons
  • rm – dokumentace rm v Single UNIX Specification
Příkazy a programy příkazové řádky Unixu (více)
Správa souborů
cat • chattr • cd • chmod • chownchgrpcksumcmp • cp • du • df • filefsck • fuser • ln • ls • lsattr • lsofmkdirmount • mv • pwd • rm • rmdir • split • touch
Správa procesů
at • chrootcrontab • exit • kill • killall • nice • pgreppidofpkill • ps • pstreesleep • time • top • wait • watch
Správa uživatelů a prostředí
env • finger • id • lognamemesgpasswd • su • sudounameuptime • w • wall • who • whoamiwrite
Zpracování textu
awkcommcsplitcutdiff • ed • ex • fmt • headiconvjoin • less • more • patchpaste • read • sedsorttactail • tee • tr • uniq • wc • xargs
Programování v shellu
alias • basename • echo • expr • false • printf • test • true • unset
Síťová komunikace
dig • inetd • host • ifconfignetstatnslookuppingrloginnctraceroute
Hledání
findgrepstrings
Ostatní
banner • bc • cal • date • dd • look • lp • man • size • yes