rm znamená „odstranit “, jak název napovídá, příkaz rm se používá k odstranění nebo odstranění souborů a adresářů v operačních systémech Linux a UNIX. Pokud jste v Linuxu noví, měli byste být při spouštění příkazu rm velmi opatrní, protože jakmile soubor nebo adresář smažete, nebudete moci obnovit obsah souboru a adresáře. Existují sice některé nástroje a příkazy, pomocí kterých lze smazané soubory obnovit, ale k tomu potřebujete odborné dovednosti.
V tomto příspěvku předvedeme 10 příkladů příkazů Linux rm. Níže je uvedena základní syntaxe příkazu rm.
# rm
možnosti používané v příkazu rm.
Příklad:1 Odeberte nebo odstraňte soubor.
Smažeme soubor s názvem „linuxstufff.log“
[[e-mail chráněný] ~]$ rm linuxstufff.log[[e-mail chráněn] ~]$
Smažte více souborů najednou.
Předpokládejme, že chci odstranit čtyři textové soubory najednou. Použijte níže uvedenou syntaxi
# rm {file1} {file2}] {file3} {file4}
[[e-mail chráněný] ~]$ rm soubor1.txt soubor2.txt soubor3.txt soubor4.txt[[e-mail chráněný] ~]$
Příklad:2 Interaktivní smazání souborů.
„-i ‘ možnost v příkazu rm zobrazí výzvu před odstraněním souboru, příklad je uveden níže.
[[e-mail chráněný] ~]$ rm -i linuxstufff.log rm:odstranit běžný soubor ‚linuxstufff.log‘? y[[email protected] ~]$
Příklad:3 Smazání prázdného adresáře v linuxu
použijte „-d ‘ možnost v příkazu rm k odstranění prázdného adresáře.
[[chráněno e-mailem] ~]$ ls -R appdata/appdata/:[[chráněno e-mailem] ~]$ rm -d appdata/[[e-mailem chráněno] ~]$
můžeme také použít ‘rmdir ‘ příkaz k odstranění prázdného adresáře v linuxu.
[[chráněno e-mailem] ~]$ ls -R appdata/appdata/:[[chráněno e-mailem] ~]$ rmdir appdata[[e-mailem chráněno] ~]$
Příklad:4 Rekurzivní smazání adresáře pomocí volby „-r“
„-r Možnost ‘ v příkazu rm rekurzivně smaže všechny soubory a podadresáře nadřazeného adresáře.
[[e-mail chráněný] ~]$ ls -lR dbstore/dbstore/:total 0-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 26 23:59 soubor1.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 26 23:59 soubor2.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 26 23:59 soubor3.logdrwxrwxr-x. 2 linuxtechi linuxtechi 6. března 26 23:59 servicedbstore/service:total 0[[email protected] ~]$ rm -r dbstore/[[email protected] ~]$
Příklad:5 Interaktivní mazání souborů a podadresářů.
Použijte ‘-ri ‘ možnost v příkazu rm pro interaktivní odstranění souboru a podadresářů, Předpokládejme, že chceme všechny soubory a adresáře ‘dbstore’ adresář interaktivně.
[[e-mail chráněný] ~]$ ls -lR dbstore/dbstore/:total 0-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 00:02 soubor1.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 00:02 soubor2.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 00:02 file3.logdrwxrwxr-x. 2 linuxtechi linuxtechi 6. března 27 00:02 servicedbstore/service:total 0[[chráněn e-mailem] ~]$ rm -ri dbstore/rm:sestoupit do adresáře ‚dbstore/‘? yrm:odstranit běžný prázdný soubor ‘dbstore/file1.log’? yrm:odstranit běžný prázdný soubor „dbstore/file2.log“? yrm:odstranit běžný prázdný soubor „dbstore/file3.log“? yrm:odebrat adresář „dbstore/service“? yrm:odebrat adresář 'dbstore/'? y[[email protected] ~]$
Příklad:6 Násilné mazání souborů pomocí volby „-f“
„-f ‘ volba v příkazu rm násilně odstraní nebo smaže soubory bez ohledu na jeho oprávnění a bude také ignorovat neexistující soubory.
Smažte soubor „tech.txt“
chráněný proti zápisu[[e-mail chráněný] ~]$ ls -l tech.txt -r--r--r--. 1 linuxtechi linuxtechi 0. března 27 00:23 tech.txt[[e-mail chráněný] ~]$[[e-mail chráněný] ~]$ rm tech.txt rm:odstranit běžný prázdný soubor „tech.txt“ chráněný proti zápisu?
Jak vidíme výše, když se pokusíme smazat soubor chráněný proti zápisu pomocí příkazu rm bez možnosti „-f“, zobrazí se nám výzva k odstranění souboru chráněného proti zápisu.
Nyní zkuste soubor smazat pomocí volby „-f“.
[[e-mail chráněný] ~]$ rm -f tech.txt [[chráněn e-mailem] ~]$
Zkuste také smazat neexistující soubor.
[[e-mail chráněný] ~]$ rm -f nonexist.txt[[e-mail chráněný] ~]$
Poznámka :Volba „-f“ příkazu rm nebude fungovat pro adresáře chráněné proti zápisu,
Vezměme si příklad , adresář ‘/home/linuxtechi/location/ ‘ je chráněn proti zápisu a soubor („db_stuff ‘) uvnitř tohoto adresáře není chráněno.
[[e-mail chráněný] ~]$ ls -ld /home/linuxtechi/location/drwxrwxr-x. 2 root root 29. března 27 00:43 /home/linuxtechi/location/[[email protected] ~]$ ls -l /home/linuxtechi/location/db_stuff -rw-rw-r--. 1 linuxtechi linuxtechi 17. března 27 00:43 /home/linuxtechi/location/db_stuff[[email protected] ~]$ rm -f /home/linuxtechi/location/db_stuffrm:nelze odstranit '/home/linuxtechi'/location:/dbstuff Oprávnění odepřeno[[email protected] ~]$
Příklad 7:Před smazáním více než tří souborů nebo rekurzivním smazáním se jednou zeptejte.
„-Já ‘ volba v příkazu rm se jednou zobrazí před smazáním více než tří souborů nebo rekurzivním odstraněním.
Předpokládejme, že chci smazat všechny soubory protokolu, které začínají názvem „app“ v adresáři „linux_store“.
[[e-mail chráněný] ~]$ ls -l linux_store/total 0-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:07 app1.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:07 app2.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:07 app3.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:07 app4.log-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:07 app5.log[[email protected] ~]$ rm -I linux_store/app* rm:odstranit 5 argumentů? y[[email protected] ~]$
Příklad:8 Regulární výraz v příkazu rm
V příkazu rm můžeme použít regulární výraz, některé příklady jsou uvedeny níže:
Smažeme 5 souborů protokolu počínaje log1 až log5 v adresáři ‘linux_store ‘.
[[chráněn e-mailem] linux_store]$ pwd/home/linuxtechi/linux_store[[chráněn e-mailem] linux_store]$ lltotal 0-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:15 log1.txt-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:15 log2.txt-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:15 log3.txt-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:15 log4.txt-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:15 log5.txt-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 01:15 log6.txt...................................... ..[[e-mailem chráněno] linux_store]$ [[e-mailem chráněno] linux_store]$ rm -f log{1..5}.txt [[email protected] linux_store]$
Smažte všechny soubory aktuálního adresáře, který končí na „.txt“
[[chráněn e-mailem] linux_store]$ rm -f *.txt[[chráněn e-mailem] linux_store]$
Smažte všechny soubory aktuálního pracovního adresáře, který má 3 znaky.
[[chráněn e-mailem] linux_store]$ rm -f *.???[[chráněn e-mailem] linux_store]$
Příklad:9 Odstraňte velký počet souborů pomocí příkazu rm.
Pokud se pokoušíte odstranit velké množství souborů pomocí příkazu rm, zobrazí se chybová zpráva ‚Seznam argumentů je příliš dlouhý‘
V níže uvedeném příkladu se pokouším smazat všechny soubory (kolem ‚300001‘) adresáře ‚/home/linuxtechi/linux_store‘ najednou.
[[e-mail chráněný] linux_store]$ ls -l | wc -l300001[[email protected] linux_store]$ rm *.log-bash:/bin/rm:Seznam argumentů je příliš dlouhý[[email protected] linux_store]$
Chcete-li tento problém vyřešit, použijte níže uvedený příkaz find.
[[e-mail chráněný] ~]$ najít ~/linux_store/ -type f -exec rm {} \;[[e-mail chráněn] ~]$
Příklad:10 Smazání souboru, který začíná znakem pomlčky (-)
Předpokládejme, že máme soubor s názvem ‚-store ‘ v našem aktuálním pracovním adresáři a chceme tento soubor smazat.
[[email protected] linux_store]$ lltotal 0-rw-rw-r--. 1 linuxtechi linuxtechi 0. března 27 02:05 -store[[email protected] linux_store]$ rm -storerm:neplatná možnost -- 's'Vyzkoušejte 'rm --help' pro více informací.[[email protected] linux_store]$K odstranění takových souborů použijte některý z níže uvedených příkazů.
[[email protected] linux_store]$ rm -- \ -store [[email protected] linux_store]$OR[[email protected] linux_store]$ rm ./\ -store [[email protected] linux_store]$Další informace :16 užitečných příkladů příkazů „cp“ pro začátečníky v systému Linux
17 Užitečný příkaz Tar s praktickými příklady v Linuxu Spravujte místní účty pomocí příkazu Useradd a UsermodLinux