Android

Jak odstranit (odstranit) adresář v Linuxu

How To Uninstall Avast Antivirus Completely - The Best Way To Remove or Delete Avast Antivirus

How To Uninstall Avast Antivirus Completely - The Best Way To Remove or Delete Avast Antivirus

Obsah:

Anonim

Existuje několik různých způsobů, jak odstranit adresáře v systémech Linux. Pokud používáte správce souborů na ploše, jako jsou soubory Gnome nebo Dolphin KDE, můžete soubory a adresáře odstranit pomocí grafického uživatelského rozhraní správce. Pokud však pracujete na bezhlavém serveru nebo chcete odebrat více adresářů najednou, nejlepší možností je odstranit adresáře (složky) z příkazového řádku.

, vysvětlíme, jak odstranit adresáře v Linuxu pomocí příkazů rmdir , rm a find .

Než začnete

Když odstraníte adresář pomocí správce souborů na ploše, adresář se skutečně přesune do koše a lze jej snadno obnovit.

Při odstraňování souborů nebo adresářů z příkazového řádku buďte obzvláště opatrní, protože jakmile je adresář odstraněn pomocí vysvětlených příkazů, nelze jej plně obnovit.

Ve většině souborových systémů Linux vyžaduje odstranění adresáře oprávnění k zápisu do adresáře a jeho obsahu. Jinak se zobrazí chyba „Operace není povolena“.

Názvy adresářů s mezerou v nich musí být označeny zpětným lomítkem ( / ).

Odstranění adresářů pomocí rmdir

rmdir je nástroj příkazového řádku pro mazání prázdných adresářů. Je užitečné, pokud chcete smazat adresář pouze v případě, že je prázdný, aniž byste museli kontrolovat, zda je adresář prázdný nebo ne.

Chcete-li odstranit adresář pomocí rmdir , zadejte příkaz následovaný názvem adresáře, který chcete odstranit. Chcete-li například odstranit adresář s názvem dir1 , zadejte:

rmdir dir1

Pokud adresář není prázdný, zobrazí se následující chyba:

rmdir: failed to remove 'dir1': No such file or directory

V takovém případě budete muset před smazáním použít příkaz rm nebo ručně odstranit obsah adresáře.

Odstranění adresářů pomocí rm

rm je obslužný program příkazového řádku pro mazání souborů a adresářů. Na rozdíl od rmdir může příkaz rm vymazat prázdné i neprázdné adresáře.

Ve výchozím nastavení rm neodstraňuje adresáře, pokud je použita bez jakékoli možnosti. Chcete-li vymazat prázdný adresář, použijte volbu -d ( --dir ) a pro odstranění neprázdného adresáře a veškerý jeho obsah použijte volbu -r ( --recursive nebo -R ).

Chcete-li například odstranit adresář s názvem dir1 a veškerý jeho obsah, který byste napsali:

rm -r dir1

Pokud je adresář nebo soubor v adresáři chráněn proti zápisu, budete vyzváni k potvrzení odstranění. Chcete-li odebrat adresář bez výzvy, použijte volbu -f :

rm -rf dir1

Chcete-li odebrat více adresářů najednou, použijte příkaz rm následovaný názvy názvů adresářů oddělených mezerou. Příkaz níže odstraní každý uvedený adresář a jejich obsah:

rm -r dir1 dir2 dir3

Volba -i říká rm aby vás vyzval k potvrzení odstranění každého podadresáře a souboru. Pokud adresář obsahuje spoustu souborů, může to být trochu nepříjemné, takže můžete zvážit použití volby -I která vás vyzve pouze jednou, než budete pokračovat v mazání.

rm -rI dir1

Chcete-li odebrat adresář typu y a stiskněte Enter .

rm: remove 1 argument recursively? y

Můžete také použít běžná rozšíření k přiřazení a odstranění více adresářů. Chcete-li například odebrat všechny adresáře první úrovně v aktuálním adresáři, který končí _bak , použijte následující příkaz:

rm -r *_bak

Používání pravidelných rozšíření při odstraňování adresářů může být riskantní. Doporučujeme nejprve vypsat seznam adresářů pomocí příkazu ls , abyste viděli, které adresáře budou smazány před spuštěním příkazu rm .

Odstranění adresářů s find

find je obslužný program příkazového řádku, který umožňuje vyhledávat soubory a adresáře na základě daného výrazu a provádět akci v každém odpovídajícím souboru nebo adresáři.

Nejběžnějším scénářem je použití příkazu find k odstranění adresářů na základě vzoru. Chcete-li například odstranit všechny adresáře, které končí _cache v aktuálním pracovním adresáři, který byste spustili:

find. -type d -name '*_cache' -exec rm -r {} +

Pojďme analyzovat výše uvedený příkaz:

  • /dir - rekurzivně prohledává aktuální pracovní adresář ( . ). -type d - omezuje vyhledávání na adresáře. -name '*_cache' - prohledává pouze adresáře, které končí _cache -exec - provede externí příkaz s volitelnými argumenty, v tomto případě rm -r . {} + - připojí nalezené soubory na konec příkazu rm .

Odstranění všech prázdných adresářů

Chcete-li odstranit všechny prázdné adresáře ve stromu adresářů, který byste použili:

find /dir -type d -empty -delete

Zde je vysvětlení použitých možností:

  • /dir - rekurzivně prohledává adresář /dir . -type d - omezuje vyhledávání na adresáře. -empty - omezuje vyhledávání pouze na prázdné adresáře. -delete - odstraní všechny nalezené prázdné adresáře v podstromu. -delete smazat pouze prázdné adresáře.

Použijte možnost -delete s mimořádnou opatrností. Příkaz find je vyhodnocen jako výraz a pokud nejprve přidáte volbu -delete , odstraní příkaz vše pod počátečním bodem, který jste určili. Jako poslední možnost vždy používejte -delete a před odstraněním nejprve otestujte příkaz bez volby -delete .

/ bin / rm: Seznam argumentů je příliš dlouhý

Tato chybová zpráva se zobrazí, když pomocí příkazu rm odeberete adresář, který obsahuje velké množství souborů. K tomu dochází, protože počet souborů je větší než systémové omezení velikosti argumentu příkazového řádku.

Tento problém má několik různých řešení. Například můžete cd do adresáře a ručně nebo pomocí smyčky postupně odstranit podadresáře.

Nejjednodušší řešení je nejprve odstranit všechny soubory v adresáři pomocí příkazu find a poté smazat adresář:

find /dir -type f -delete && rm -r /dir

Závěr

Pomocí rm a find můžete vymazat adresáře na základě různých kritérií rychle a efektivně.

Odstranění adresářů je jednoduchý a snadný proces, ale musíte být opatrní, abyste neodstraňovali důležitá data.

rm rmdir najít terminál