Ako používať „rm“ v systéme Linux

click fraud protection

Príkazový riadok je štandardný spôsob vykonávania úloh v systéme Linux. Niektoré zariadenia so systémom Linux, ako napríklad servery, zvyčajne nemajú žiadne grafické rozhranie, čo si vyžaduje použitie príkazov na ich ovládanie. Stolné počítače so systémom Linux majú tendenciu mať grafické rozhranie, aby boli prístupnejšie, ale vy vo všeobecnosti nemajú plnú funkčnosť a všestrannosť konfigurácie, ktorú získate pomocou príkazov v a terminál.

Jeden zo štandardných príkazov, ktoré by ste sa mali naučiť, je „rm“. Skratka pre „Odstrániť“, „rm“ vám umožňuje mazať súbory a za určitých okolností aj adresáre. „rm“ je však riskantný príkaz, pretože je ľahké odstrániť súbory, ktoré ste nevyhnutne nemali v úmysle, a potenciálne ohroziť schopnosť vašej inštalácie systému Linux pokračovať v fungovaní.

Spustením príkazu „rm–help“ sa zobrazí stránka pomocníka.

Čo nerobiť

Vzhľadom na silu „rm“ je dobré sa uistiť, že rozumiete tomu, čo by ste nemali robiť predtým, ako sa ho pokúsite použiť. Príznak „-r“ sa používa na rekurzívne použitie vymazania na všetky adresáre v zadanom adresári. To vám umožní odstrániť adresár a všetko v ňom. Príznak „-f“ sa používa na vynútenie vymazania a nevyzve na potvrdenie vymazania dôležitých súborov. Kombinácia týchto dvoch príznakov „-rf“ vám umožní vymazať celé sady adresárov bez výziev na potvrdenie.

Tip: Ako pri mnohých príkazoch, môžete kombinovať príznaky príkazového riadku, ako napríklad „-r -f“ do „-rf“. Na poradí príznakov nezáleží, takže „-fr“ urobí to isté.

V najhoršom prípade by ste mohli náhodne spustiť príkaz v koreňovom adresári. Príkaz by rekurzívne vymazal z vášho pevného disku všetko, čo má váš používateľ oprávnenie upravovať, a úplne pokazil vašu inštaláciu Linuxu. Aby sme vás ochránili pred úplne najhorším scenárom, koreňový adresár „/“ sa pri „rm“ správa odlišne. Na vymazanie všetkého by ste museli použiť „sudo“ a príznak „–no-preserve-root“, toto spustí príkaz s oprávneniami root a odstráni ochranu pre koreňový adresár.

Poznámka: Nikdy by ste sa nemali pokúšať skombinovať príkaz „rm“ s príznakmi „-rf“ a nasmerovať príkaz na koreňový adresár, pokiaľ si nie ste 100% istý, že systém už nikdy nebudete potrebovať.

Tip: Dvojitá pomlčka na začiatku „–no-preserve-root“ je zámerná. Štandardná syntax príznaku príkazu Linuxu je, že jednopísmenové príznaky používajú jednu pomlčku a viacpísmenové príznaky začínajú dvojitou pomlčkou. Napríklad príznak „-h“ sa často, ale nie vždy, používa na otvorenie stránky pomocníka, zatiaľ čo príznak „–help“ vo všeobecnosti robí to isté. Dvojitá pomlčka pomáha odlíšiť viacpísmenový príznak od kombinácie viacerých jednopísmenových príznakov, ako napríklad „-h -e -l -p“.

Buďte veľmi opatrní pri používaní príznakov „-rf“ s príkazom „rm“, najmä pri používaní oprávnení Sudo. Nikdy by ste nemali potrebovať použiť príkaz –no-preserve-root. V ideálnom prípade by ste mali vždy pred spustením príkazu „rm“ skontrolovať, či ste neurobili preklep.

Použitie zástupného znaku „*“ je tiež nebezpečné pri príkaze „rm“, pretože vyberie všetko v aktuálnom adresári, s výnimkou iných adresárov, pokiaľ nie je zadané „-r“.

Ako používať „rm“

Ak chcete bezpečne používať „rm“, mali by ste vždy dvakrát skontrolovať svoj príkaz, aby ste sa uistili, že ste neurobili preklep alebo ste automaticky nedoplnili nesprávny názov súboru. V ideálnom prípade by ste mali naraz odstraňovať iba jeden súbor, ale ak ste opatrní, môže fungovať aj použitie zástupného znaku „*“ na výber viacerých súborov. Napríklad príkaz „rm *.txt“ odstráni všetky súbory v aktuálnom adresári, ktoré končia príponou „.txt“.

Príkaz „rm *.txt“ používa zástupný znak na priradenie a odstránenie všetkých súborov, ktoré končia príponou .txt

Podobný príkaz „rmdir“ je bezpečnejší spôsob odstraňovania adresárov, pretože ak nešpecifikujete žiadne príznaky, môže vymazať iba prázdne adresáre. Použitie „rm“ a „rmdir“ zabraňuje náhodnému rekurzívnemu vymazaniu údajov.

Príkaz „rm -r“ je potrebný na odstránenie adresára a jeho obsahu, mali by ste si však byť istí, že chcete odstrániť obsah.