Android

Hoe een map in Linux te verwijderen (verwijderen)

How to Remove Linux (Ubuntu) From Dual Boot in Windows 10

How to Remove Linux (Ubuntu) From Dual Boot in Windows 10

Inhoudsopgave:

Anonim

Er zijn verschillende manieren om mappen in Linux-systemen te verwijderen. Als u een Desktop-bestandsbeheerder gebruikt, zoals Gnome's Bestanden of KDE's Dolphin, kunt u bestanden en mappen verwijderen met behulp van de grafische gebruikersinterface van de manager. Maar als u op een headless-server werkt of meerdere mappen tegelijk wilt verwijderen, kunt u het beste de mappen (mappen) van de opdrachtregel verwijderen.

, zullen we uitleggen hoe mappen in Linux te verwijderen met behulp van de rmdir , rm en commando's find .

Voordat je begint

Wanneer u een map verwijdert met behulp van uw Desktop-bestandsbeheer, wordt de map daadwerkelijk naar de prullenmand verplaatst en kan deze gemakkelijk worden hersteld.

Wees extra voorzichtig bij het verwijderen van bestanden of mappen van de opdrachtregel, want als de map eenmaal is verwijderd met behulp van de beschreven opdrachten, kan deze niet volledig worden hersteld.

Op de meeste Linux-bestandssystemen vereist het verwijderen van een map schrijfrechten voor de map en de inhoud ervan. Anders krijgt u de melding "Bewerking niet toegestaan".

Directorynamen met een spatie erin moeten worden ontsnapt met een backslash ( / ).

Directory's verwijderen met rmdir

rmdir is een opdrachtregelprogramma voor het verwijderen van lege mappen. Dit is handig als u een map alleen wilt verwijderen als deze leeg is, zonder dat u hoeft te controleren of de map leeg is of niet.

Als u een map met rmdir wilt verwijderen, typt u de opdracht gevolgd door de naam van de map die u wilt verwijderen. Als u bijvoorbeeld een map met de naam dir1 wilt verwijderen, dir1 u:

rmdir dir1

Als de map niet leeg is, krijgt u de volgende foutmelding:

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

In dit geval moet u de opdracht rm gebruiken of de mapinhoud handmatig verwijderen voordat u deze kunt verwijderen.

Directory's verwijderen met rm

rm is een opdrachtregelprogramma voor het verwijderen van bestanden en mappen. In tegenstelling tot rmdir de opdracht rm zowel lege als niet-lege mappen verwijderen.

Bij gebruik zonder optie verwijdert rm geen mappen. Om een ​​lege map te verwijderen, gebruikt u de optie -d ( --dir ) en om een ​​niet-lege map te verwijderen en alle inhoud gebruikt u de optie -r ( --recursive of -R ).

Als u bijvoorbeeld een map met de naam dir1 samen met alle inhoud wilt verwijderen, typt u:

rm -r dir1

Als een map of een bestand in de map tegen schrijven is beveiligd, wordt u gevraagd de verwijdering te bevestigen. Gebruik de optie -f om een ​​map te verwijderen zonder dat u hierom wordt gevraagd:

rm -rf dir1

Om meerdere mappen tegelijk te verwijderen, gebruikt u de opdracht rm gevolgd door de namen van de namen van de mappen gescheiden door een spatie. De onderstaande opdracht verwijdert elke vermelde map en hun inhoud:

rm -r dir1 dir2 dir3

De optie -i vertelt rm om u te vragen om het verwijderen van elke submap en elk bestand te bevestigen. Als de map veel bestanden bevat, kan dit weinig vervelend zijn, dus u kunt overwegen de optie -I gebruiken om u slechts één keer te vragen voordat u doorgaat met het verwijderen.

rm -rI dir1

Typ y en druk op Enter om de map te verwijderen.

rm: remove 1 argument recursively? y

U kunt ook reguliere uitbreidingen gebruiken om meerdere mappen te matchen en te verwijderen. Als u bijvoorbeeld alle mappen op het eerste niveau in de huidige map wilt verwijderen die eindigt op _bak , gebruikt u de volgende opdracht:

rm -r *_bak

Regelmatige uitbreidingen gebruiken bij het verwijderen van mappen kan riskant zijn. Het wordt aanbevolen om eerst de mappen met de opdracht ls zodat u kunt zien welke mappen worden verwijderd voordat u de opdracht rm uitvoert.

Mappen verwijderen met find

find is een opdrachtregelprogramma waarmee u naar bestanden en mappen kunt zoeken op basis van een bepaalde expressie en een actie kunt uitvoeren op elk gekoppeld bestand of elke overeenkomende map.

Het meest voorkomende scenario is het gebruik van de opdracht find om mappen te verwijderen op basis van een patroon. Als u bijvoorbeeld alle mappen die eindigen op _cache in de huidige werkmap wilt verwijderen, zou u:

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

Laten we het bovenstaande commando analyseren:

  • /dir - recursief zoeken in de huidige werkmap ( . ). -type d - beperkt de zoekopdracht tot mappen. -name '*_cache' - zoek alleen in mappen die eindigen op _cache -exec - voert een externe opdracht uit met optionele argumenten, in dit geval is dat rm -r . {} + - voegt de gevonden bestanden toe aan het einde van de opdracht rm .

Alle lege mappen verwijderen

Als u alle lege mappen in een mapstructuur wilt verwijderen, gebruikt u:

find /dir -type d -empty -delete

Hier is een uitleg voor de gebruikte opties:

  • /dir - recursief zoeken in de map /dir . -type d - beperkt de zoekopdracht tot mappen. -empty - beperkt de zoekopdracht alleen tot lege mappen. -delete - verwijdert alle gevonden lege mappen in de substructuur. -delete kan alleen lege mappen verwijderen.

Gebruik de optie -delete met uiterste voorzichtigheid. De opdrachtregel wordt gevonden als een uitdrukking en als u eerst de optie -delete , verwijdert de opdracht alles onder de opgegeven startpunten. Gebruik altijd -delete als laatste optie en test, voordat u verwijdert, eerst de opdracht zonder de optie -delete .

/ bin / rm: argumentenlijst te lang

Dit foutbericht verschijnt wanneer u de opdracht rm gebruikt om een ​​map te verwijderen die een groot aantal bestanden bevat. Dit gebeurt omdat het aantal bestanden groter is dan de systeemlimiet voor de grootte van het opdrachtregelargument.

Er zijn verschillende oplossingen voor dit probleem. U kunt bijvoorbeeld cd naar de map en handmatig of met behulp van een lus gebruiken om submappen een voor een te verwijderen.

De eenvoudigste oplossing is om eerst alle bestanden in de map te verwijderen met de opdracht find en vervolgens de map te verwijderen:

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

Conclusie

Met rm en find kunt u mappen op basis van verschillende criteria snel en efficiënt verwijderen.

Het verwijderen van mappen is een eenvoudig en gemakkelijk proces, maar u moet oppassen dat u geen belangrijke gegevens verwijdert.

rm rmdir terminal vinden