Guides

Hoe bestanden en mappen in de Linux-terminal te verwijderen

De opdrachten rm en rmdir verwijderen bestanden en mappen op Linux, macOS en andere Unix-achtige besturingssystemen. Ze lijken op commando's Dakramen en raamkozijnen en DOS delta . Deze commando's zijn zeer krachtig en hebben veel opties.

Het is belangrijk op te merken dat bestanden en mappen die met rm en rmdir zijn verwijderd, niet naar de prullenbak worden verplaatst. Ze worden onmiddellijk van uw computer verwijderd. Als u per ongeluk bestanden verwijdert met deze opdrachten, is de enige manier om ze te herstellen vanaf een back-up.

Hoe bestanden te verwijderen met rm

Het eenvoudigste is om een ​​enkel bestand in de huidige map te verwijderen. Voer de opdracht rm in, een spatie en vervolgens de naam van het bestand dat u wilt verwijderen.

rm bestand_1.txt

Als het bestand zich niet in de huidige werkmap bevindt, geeft u een pad op naar de locatie van het bestand.

rm./pad/naar/bestand/bestand/bestand_1.txt

U kunt meer dan één bestandsnaam doorgeven aan rm. Hiermee worden alle opgegeven bestanden verwijderd.

rm bestand_2.txt bestand_3.txt

U kunt jokertekens gebruiken om groepen bestanden te selecteren die u wilt verwijderen. het sterretje ( ) staat voor meerdere tekens en het sterretje ( ) staat voor een enkel teken. Met deze opdracht worden alle png-afbeeldingsbestanden in de huidige werkmap verwijderd.

rm*.png

Met deze opdracht worden alle bestanden met een extensie van één teken verwijderd. Dit zou bijvoorbeeld File.1 en File.2 verwijderen, maar niet File.12.

rm*.?

Als een bestand tegen schrijven is beveiligd, wordt u gevraagd het te verwijderen. U moet antwoorden met Sony druk op "Enter".

Gebruik de optie -i (interactief) om het risico van het gebruik van het jokerteken rm te verkleinen. Dit vereist dat u de verwijdering van elk bestand bevestigt.

rm -i *.dat

De optie -f (forceren) is het tegenovergestelde van de interactieve optie. Er wordt niet om bevestiging gevraagd, zelfs niet als de bestanden tegen schrijven zijn beveiligd.

rm -f bestandsnaam

Hoe mappen te verwijderen met rm

Gebruik de optie -d (map) om een ​​lege map te verwijderen. U kunt jokertekens (* en?) gebruiken in directorynamen op dezelfde manier als voor bestandsnamen.

rm -d map

Als er meer dan één mapnaam wordt opgegeven, worden alle opgegeven lege mappen verwijderd.

rm -d map1 map2 / pad / naar / map3

Gebruik de optie -r (recursief) om mappen te verwijderen die niet leeg zijn. Voor alle duidelijkheid: dit verwijdert mappen en alle bestanden en submappen die ze bevatten.

rm -r map1 map2 map3

Als een map of bestand tegen schrijven is beveiligd, wordt u gevraagd het verwijderen te bevestigen. Gebruik de opties -r (recursief) en -f (forceren) samen om mappen te verwijderen die niet leeg zijn en om deze prompts te onderdrukken.

rm -rf map

Je moet hier voorzichtig zijn. Een fout met de opdracht rm -rf kan leiden tot gegevensverlies of systeemstoringen. Het is gevaarlijk en voorzichtigheid is het beste beleid. Om de mappenstructuur en de bestanden die door het rm -rf commando zullen worden verwijderd te begrijpen, gebruikt u het tree commando.

Gebruik apt-get om dit pakket op uw systeem te installeren als u Ubuntu of een andere op Debian gebaseerde distributie gebruikt. Gebruik op andere Linux-distributies in plaats daarvan de tool voor pakketbeheer van uw Linux-distributie.

sudo apt-get installatieboom

Het uitvoeren van het tree-commando levert een gemakkelijk te begrijpen diagram op van de directory en de bestandsstructuur onder de directory van waaruit het wordt uitgevoerd.

arbre

U kunt ook een pad opgeven naar het tree-commando om de tree te starten vanuit een andere map op het bestandssysteem.

boompad / naar / naar / directory

De opdracht rm heeft ook de opties –one-filesystem, –no-preserve-root, –preserve-root, maar deze worden alleen aanbevolen voor gevorderde gebruikers. Als je iets verprutst, kun je per ongeluk alle bestanden op je systeem verwijderen. Zie de man-pagina van het commando voor meer informatie.

Hoe mappen te verwijderen met rmdir in Linux

Er is nog een ander commando, rmdir genaamd, dat je kunt gebruiken om mappen te verwijderen. Het verschil tussen rm en rmdir is dat rmdir alleen lege mappen kan verwijderen. Het zal de bestanden nooit verwijderen.

Het eenvoudigste is om een ​​enkele lege map te verwijderen. Net als bij rm, kunt u meerdere directorynamen doorgeven aan rmdir, of een pad naar een directory.

Verwijder een enkele map in de huidige map door de naam door te geven aan rmdir:

rmdir-map

Verwijder meerdere mappen door een lijst met namen door te geven aan rmdir:

rmdir map1 map2 map3

Verwijder een map die niet in de huidige map staat door het volledige pad van die map op te geven:

rmdir / pad / naar / map

Als u een map probeert te verwijderen die niet leeg is, zal rmdir u een foutmelding geven. In het volgende voorbeeld verwijdert rmdir stilletjes de map clients, maar weigert de map projecten te verwijderen omdat deze bestanden bevat. De map projecten blijft zoals hij is en de bestanden die erin staan ​​zijn intact.

Wanneer rmdir de foutmelding "Directory niet leeg" geeft, stopt het met het verwerken van de directory's die eraan zijn doorgegeven op de opdrachtregel. Als je hem hebt gevraagd om vier mappen te verwijderen en de eerste bevat bestanden, dan zal rmdir je de foutmelding geven en verder niets doen. Je kunt het forceren om deze fouten te negeren met de -ignore-fail-on-non-empty optie om andere mappen te verwerken.

In het volgende voorbeeld zijn twee records doorgegeven aan rmdir, namelijk werk/rapporten en werk/offertes. De optie –ignore-fail-on-non-empty is opgenomen in de opdracht.

De map werken / rapporten bevat bestanden, dus rmdir kan deze niet verwijderen. De optie –ignore-fail-on-non-empty dwingt rmdir om de fout te negeren en naar de volgende map te gaan om te verwerken, namelijk werk / aanhalingstekens. Dit is een lege map en rmdir verwijdert deze.

Dit was het commando dat werd gebruikt.

rmdir –negeer-mislukken-op-niet-leeg werk / rapporten / werk / offertes

U kunt de optie -p (ouders) gebruiken om een ​​map te verwijderen en ook om de bovenliggende mappen te verwijderen. Deze truc werkt omdat rmdir begint met de doelmap en vervolgens een back-up maakt naar de bovenliggende map. Deze map zou nu leeg moeten zijn, zodat deze door rmdir kan worden verwijderd, en het proces wordt herhaald en keert terug naar het pad dat aan rmdir is gegeven.

In het volgende voorbeeld is de opdracht die aan rmdir is doorgegeven:

rmdir -p werk / facturen

Facturen en werkmappen worden op verzoek verwijderd.

Of je nu Bash of een andere shell gebruikt, Linux biedt flexibele en krachtige commando's waarmee je mappen en bestanden direct vanaf de terminalopdrachtregel kunt verwijderen.

Sommige mensen hebben liever een workflow die om de terminal draait. Anderen hebben hierin misschien geen andere keuze. Ze kunnen werken op servers zonder dat een GUI is geïnstalleerd of in een externe sessie op een headless-systeem zoals een Raspberry Pi. Deze commando's zijn perfect voor deze groep mensen.

Maar wat voor soort workflow u ook verkiest, deze commando's lenen zich goed om in shellscripts te worden opgenomen. Als een script wordt geactiveerd door een cron-taak, kan het helpen bij het automatiseren van routinematige schoonmaaktaken, zoals het opschonen van ongewenste logbestanden.

Als u op zoek bent naar deze use-case, onthoud de kracht van deze commando's , test alles zorgvuldig en bewaar altijd een recente Linux-back-up.

Vergelijkbare items

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

Terug naar boven knop