V této příručce se dozvíte několik způsobů, jak rychle a snadno odstranit soubory a adresáře v systému Linux pomocí příkazového řádku.
Jedna ze základních úloh správy souborového systému v Linuxu zahrnuje vytváření, úpravy a mazání různých typů souborů a adresářů. Znalost některých základních nástrojů a konceptů pro mazání souborů se hodí a může vám ušetřit čas.
V tomto článku vám ukážeme několik způsobů souvisejících s mazáním souborů a adresářů v Linuxu. Poskytneme také stručné informace o různých příznacích a možnostech, které můžete použít při mazání souborů a adresářů z vaší linuxové stanice.
Odstranění souborů pomocí příkazu rm
Chcete-li smazat soubor, musíte použít rm
(remove) a řekněte mu, jaký soubor nebo soubory chcete odstranit. Má následující obecnou syntaxi:
rm [OPTIONS] FILENAME
Chcete-li například odstranit jeden soubor s názvem file.jpg
, zadejte do příkazového řádku následující:
rm file.jpg
rm
zobrazí dialogové okno pro potvrzení pro soubory chráněné proti zápisu. V opačném případě příkaz přímo smaže soubor. Chcete-li vytvořit rm
vždy zobrazí dotaz před smazáním souboru, můžete použít -i
příznak:
rm -i file.jpg
rm
Příkaz v Linuxu lze také použít k odstranění více než jednoho souboru najednou. Vynechání více názvů souborů oddělených mezerou jako argumenty pro rm
, můžete smazat více souborů:
rm file1.jpg file2.jpg file3.jpg
Můžete použít -f
příznak (force) pro odstranění souborů chráněných proti zápisu bez požadavku na potvrzení:
rm -f file.jpg
Kromě toho rm
příkaz také podporuje regulární výrazy. Pokud chcete smazat všechny tři soubory (file1.jpg
, file2.jpg
a file3.jpg
) můžete použít:
rm file*.jpg
Pro případ, že byste to potřebovali, zde je manuálová stránka pro rm
příkaz.
Smažte soubory pomocí příkazu unlink
unlink
příkaz také odstraní daný soubor. Toto je další, i když ne tak populární způsob mazání souboru v Linuxu.
Můžete použít unlink
příkaz k trvalému odstranění jednoho souboru s názvem file.jpg
zadáním následujícího:
unlink file.jpg
Pravděpodobně se ptáte, jaký je rozdíl mezi rm
a unlink
?
Oba příkazy jsou především obalem stejné základní funkce, kterou je unlink()
systémové volání. Ale unlink
příkaz trpí následujícími omezeními:
- Nelze smazat adresáře.
- Nelze rekurzovat.
- Může vzít pouze jeden argument najednou.
- Nemá žádné jiné možnosti než
--help
a--version
. - Méně kontroly zdravého rozumu.
Další informace o unlink
příkaz v systému Linux, podívejte se na stránku jeho příručky.
Odstranění adresářů pomocí příkazu rm
Přidáním -r
(rekurzivní) k rm
příkazem v Linuxu, můžete odstranit adresář spolu s veškerým jeho obsahem (soubory, podadresáře atd.).
Chcete-li například odebrat adresář s názvem myfiles
, zadejte do příkazového řádku následující:
rm -r myfiles/
rm
příkaz vás požádá o ověření procedury, pokud je zadaný adresář nebo soubor v něm chráněn proti zápisu. Odstranění adresáře bez potvrzení:
rm -rf myfiles/
Chcete-li odstranit více adresářů (například mojesoubory1, mojesoubory2 a mojesoubory3), zadejte rm -rf následovaný názvy adresářů nebo cestami k adresářům odděleným mezerou takto:
rm -rf myfiles1/ myfiles2/ myfiles3/
Odstranění adresářů pomocí příkazu rmdir
Zde je důležité poznamenat: rmdir
příkaz se používá pouze při mazání prázdných adresářů v Linuxu. Pokud potřebujete odstranit neprázdný adresář, použijte rm
příkaz.
Pokud zadaný adresář není prázdný, výstup zobrazí chybu, jak je uvedeno níže.
rmdir: failed to remove 'myfiles/': Directory not empty
Chcete-li odstranit jeden prázdný adresář, napište rmdir
následovaný názvem adresáře nebo cestou k adresáři takto:
rmdir myfiles/
Chcete-li odebrat více adresářů (například myfiles1
, myfiles2
a myfiles3
), zadejte rmdir
následují názvy adresářů nebo cesty k adresářům oddělené mezerou takto:
rmdir myfiles1/ myfiles2/ myfiles3/
Pokud příkaz najde obsah v některém z uvedených adresářů, přeskočí jej a přejde na další.
Pomocí -p
možnosti přidané do rmdir
každý z argumentů adresáře je považován za cestu, ze které budou odstraněny všechny komponenty, pokud jsou již prázdné, počínaje poslední komponentou.
Například následující příkaz odstraní obojí:nadřazený myfiles
adresář a jeho podadresář subdir
.
rmdir -p myfiles/subdir/
Pro případ, že byste to potřebovali, zde je manuálová stránka pro unlink
příkaz.
Závěr
Nyní byste měli jasně rozumět tomu, jak odstranit soubory a adresáře v Linuxu z příkazového řádku.
Je důležité si uvědomit, že když v Linuxu smažete soubor nebo adresář pomocí rm
, unlink
a rmdir
, je okamžitě odstraněn, místo aby se přesunul do koše. Proto budete muset být při používání těchto příkazů opatrní, protože odstraněné soubory neobnovíte.
Nyní si procvičte příklady uvedené v tomto článku a měli byste být připraveni.