De Linux rm-opdracht: alles wat u moet weten

0
65
fatmawati achmad zaenuri/Shutterstock.com

Met de opdracht rm kunt u een bestand of map verwijderen en de naam doorgeven: “rm bestandsnaam” of “rm -d directory .” U kunt ook een directorypad opnemen. Als er bestanden in de directory staan, gebruik dan de -r optie “rm -r directory” om bestanden en mappen recursief te verwijderen.

De opdracht Linux rm verwijdert bestanden en mappen. Om deze tool veilig te gebruiken, moet u zeker weten wat er gaat gebeuren als u op “Enter.” Dit is wat u moet weten.

Inhoudsopgave

Wat is het rm-commando in Linux?
Bestanden verwijderen met rm
Jokertekens gebruiken met rm
RM interactief gebruiken
De rm Force-optie gebruiken
Mappen verwijderen met rm
Fouten bij het gebruik vermijden rm
Welke persoonlijke beschermingsmiddelen?

Wat is het rm-commando in Linux?

Het Linux rm-commando is voornamelijk bedoeld voor het verwijderen van bestanden. Het is er een die de meeste mensen tegenkomen kort nadat ze Linux gaan gebruiken. Alleen al omdat je een nieuwkomer bent in Linux, maak je waarschijnlijk fouten. U maakt of kopieert per ongeluk bestanden, of met de verkeerde naam of naar de verkeerde plaats. Het maakt allemaal deel uit van de leercurve van de opdrachtregel. Bij het opschonen van dergelijke fouten is rm .

betrokkenGERELATEERD8 typefouten die je echt moet vermijden op Linux

De opdracht rm kan bestanden, groepen bestanden, mappen of complete mappenbomen verwijderen. Daarom moet het met de nodige voorzichtigheid worden gebruikt. Het gebruik van rm is niet moeilijk, maar de straf voor mislukking is hoog.

Wanneer een bestand wordt verwijderd met rm , is het verdwenen. Het is niet verplaatst naar de prullenbak. Het wordt onmiddellijk uitgewist. Dat betekent niet dat je het gebruik van rm moet vermijden. Maar om het veilig te gebruiken, moet u weten wat het kan doen en ervoor zorgen dat u het op de juiste manier gebruikt.

Sommige tools zijn gevaarlijker dan andere en vergeven veel minder fouten. Daarom is er nooit een film geweest met de titel The Texas Wrench Massacre. rm is geen sleutel, het is absoluut een kettingzaag.

Mensen gebruiken kettingzagen elke dag de hele dag, en zolang ze er verantwoord en bedachtzaam mee omgaan, is er niets aan de hand. Het is dezelfde deal met rm . Wanneer u rm uit uw gereedschapstas haalt, moet u vertragen en uw opdrachtregel controleren en nogmaals controleren.

Het rm-commando is een uitvoerbaar bestand, het maakt geen deel uit van de schelp. Dus hoewel we hier Bash gebruiken, is het de standaard Linux rm, geen speciale Bash rm.

GERELATEERD: Opdrachtregels: Waarom doen mensen er nog steeds moeite mee?

Bestanden verwijderen met rm

De eenvoudigste manier om rm te gebruiken, is door de naam op te geven van een bestand dat u wilt verwijderen.

rm config.gc

U keert geruisloos terug naar de opdrachtregel. rm neemt het klassieke, gesloten Linux-standpunt aan dat als het nergens over klaagt, je kunt aannemen dat het deed wat je vroeg. Door een dergelijke bestandsnaam op te geven, zoekt rm naar het bestand in de huidige werkdirectory.

U kunt meerdere bestandsnamen opgeven op de opdrachtregel. U kunt ook een mappad opgeven als een bestand dat u wilt verwijderen niet in de huidige map staat.

rm memlog.sh /home/dave/dev-archive/config.gc

Nogmaals, er wordt niets gerapporteerd als rm erin slaagt de gespecificeerde bestanden te verwijderen.

GERELATEERD: 37 belangrijke Linux-commando's die u moet kennen

Jokertekens gebruiken met rm

Met jokertekens kunt u groepen of verzamelingen bestanden specificeren zonder dat u de afzonderlijke bestanden op de opdrachtregel hoeft op te geven.

Het sterretje “*” vertegenwoordigt elke reeks tekens, inclusief geen. Het vraagteken “?” vertegenwoordigt een enkel teken.

Om te controleren of uw jokertekens overeenkomen met wat u verwacht, en niets meer, kunt u ze gebruiken met ls voordat u ze gebruikt met rm.

Gebruik “*.png.” om alle PNG-bestanden in de huidige map te verwijderen. Dit betekent elke reeks tekens gevolgd door “.png” zal worden afgestemd. Wanneer de bestanden zijn verwijderd, kunnen we ls gebruiken om te verifiëren dat ze verdwenen zijn.

ls *.png rm *.png ls *.png

Op onze testcomputer hebben we twee bestanden in de huidige map waarvan de naam begint met “config.& #8221;

We kunnen beide verwijderen door het asterisk-jokerteken te gebruiken. Het komt overeen met beide bestanden omdat rm zoekt naar bestandsnamen die beginnen met “config”, gevolgd door een reeks tekens. Op één bestand is die reeks tekens “.sl3”, de extensie van de bestandsnaam. De andere bestandsnaam heeft geen tekens na “config”, maar omdat het sterretje overeenkomt met alle tekens of geen tekens, komt het ook overeen met die bestandsnaam.

ls config* rm config* ls config*

< img src="http://www.howtogeek.com/pagespeed_static/1.JiBnMqyl6S.gif" />

U kunt het vraagteken in paren gebruiken. Hiermee worden bestanden verwijderd met een bestandsextensie van exact twee tekens.

ls *.?? rm *.?? Is *.??

GERELATEERD: 15 speciale tekens Wat u moet weten voor Bash

RM interactief gebruiken

Een veilige manier om rm te gebruiken is door het te dwingen om bevestiging te vragen voordat elk bestand wordt verwijderd. Met de optie -i (interactief) kunt u dit doen. Wanneer u deze optie aan uw opdrachtregel toevoegt, zal rm u voor elke verwijdering vragen, waardoor u de kans krijgt om over acties heen te stappen die u niet van plan was.

We gebruiken de -i (interactieve) optie in deze opdracht. Het probeert alle bestanden met een bestandsextensie van één teken te verwijderen.

rm -i *.?

Elk overeenkomend bestand wordt op zijn beurt gepresenteerd. Als u “y” of “J” het bestand wordt verwijderd. Als u “n” antwoordt, wordt het bestand bewaard. Als je antwoordt met iets anders dan “y” of “y”, het bestand blijft behouden. U kunt gewoon op “Enter” en het bestand blijft behouden.

U kunt snel door uw lijst met bestanden werken, bestanden verwijderen of overslaan om de bestanden te selecteren die u wilt verwijderen. Zoals we zullen zien kun je de i- (interactieve) optie gebruiken met andere rm-opties.

Linux Commando's Bestanden tar · pv ·cat · tac · chmod · grep ·  diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · toetreden · jq · vouwen ·uniq · journalctl · staart · stat · ls · fstab · echo · minder · chgrp · chown · rev · look · strings · typ · hernoem · zip · unzip ·< /strong> mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · converteren · rclone · versnipperen · srm · scp · gzip · chattr · knippen ·vind · umask · wc Verwerkt alias · scherm · top · leuk · renice · progress · strace · systemd · tmux · chsh · geschiedenis · bij · batch · gratis · welke · dmesg · chfn · usermod ·ps · chroot · xargs · tty · pinky · lsof · vmstat · time-out · muur · ja · doden · slapen · sudo · su · tijd · groupadd · usermod ·< /strong> groepen · lshw · afsluiten ·reboot · stop · poweroff · passwd · lscpu · crontab · datum · bg · fg · pidof · nohup · pmap Netwerk netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · vinger · nmap · ftp · curl · wget · wie · whoami ·· iptables · ssh-keygen · ufw · arping · firewalld

GERELATEERD: Beste Linux-laptops voor ontwikkelaars en liefhebbers

De optie rm Force gebruiken

Als u probeert een bestand te verwijderen dat alleen-lezen is, vraagt ​​rm u om bevestiging voordat het bestand wordt verwijderd. Dat is een goed vangnet, maar een dat vervelend kan worden als u veel bestanden moet verwijderen.

rm geonames.sl3

De optie -f (forceren) instrueert rm om nooit te vragen. Je zegt het “Ja, verwijder alle bestanden waar je me normaal gesproken om zou vragen.” Het voorkomt ook dat rm klaagt over niet-bestaande bestanden.

rm -f geonames.sl3

De optie -f (forceren) wordt vaak gebruikt wanneer u een geneste set bestanden en mappen verwijdert.

Mappen verwijderen met rm

De opdracht rm kan optioneel ook mappen verwijderen, samen met de bestanden die ze bevatten. Dit is vergelijkbaar met de opdracht rmdir, maar rmdir kan geen mappen met bestanden erin verwijderen. Het verwijdert alleen lege mappen. Het rm-commando kan eenvoudig mappen verwijderen die bestanden en andere mappen bevatten.

GERELATEERDHoe bestanden en mappen te verwijderen in de Linux Terminal

Het verwijderen van een map is vergelijkbaar met het verwijderen van een bestand. We geven de naam van de map op de opdrachtregel. We moeten de optie -d (directory) opnemen. Zoals we deden toen we bestanden aan het verwijderen waren, kunnen we de naam van verschillende mappen opgeven. We kunnen een pad geven naar een directory die niet in de huidige werkdirectory staat.

rm -d old-projects

Als de map bestanden bevat, zal dit mislukken.

Om een ​​map en zijn inhoud te verwijderen, gebruikt u de vlag -r (recursief). Dit verwijdert de map, de bestanden en eventuele geneste mappen die deze bevat.

rm -d archive rm -r archive

Het tweede commando slaagt.

Om rm om te schakelen naar vol- in de kettingzaagmodus kunnen we de opties -r (recursief) en -f (kracht) combineren. Dit vertelt rm om recursief alle bestanden en mappen in een mappenboom te verwijderen, zelfs als ze alleen-lezen zijn, en zonder ons ooit te vragen.

Op onze testcomputer hebben we een map met de naam “gemigreerde code.” Het bevat bestanden en een andere map genaamd “6502.” De “6502” map bevat ook bestanden en een andere map genaamd “ASM.” Er staan ​​ook bestanden in die map. Sommige bestanden zijn alleen-lezen.

We voegen ook het -v (verbose) commando toe zodat rm ons vertelt wat het doet.

rm -rfv gemigreerde code

In de uitvoer kunnen we zien dat de bestanden worden verwijderd en wanneer ze #8217;als ze leeg zijn, worden de mappen ook verwijderd.

Fouten vermijden bij het gebruik van rm< /h2>

Spaties en andere vreemde tekens in bestandsnamen kunnen problemen opleveren. Bestandsnamen die beginnen met een koppelteken “-” kan bijvoorbeeld worden aangezien voor opdrachtregelopties. Als we een bestand hebben met de naam “-contributors.txt”, zal rm proberen de naam te verwerken als een reeks opdrachtregelopties.

Omdat rm geen optie genaamd “-c“ heeft, mislukt het parseren van de opdrachtregel en wordt het bestand niet verwijderd. Om het bestand te verwijderen, moet u het laten voorafgaan door “./” om er een pad naar toe te geven.

rm -contributors.txt rm ./-contributors.txt

Spaties in bestandsnamen zijn ook problematisch. Citeer de volledige bestandsnaam of gebruik tabaanvulling om de naam van het bestand voor u op de opdrachtregel in te voegen, terwijl u daarbij de spaties vermijdt. Als u geen van deze opties gebruikt, zal rm elk deel van de bestandsnaam behandelen als een individueel bestand.

GERELATEERDHoe om te gaan met spaties in bestandsnamen op Linux

Hier hebben we twee bestanden, een genaamd “backup” en een genaamd “back-up om te verwijderen.” We kunnen het probleem met deze bestandsnamen demonstreren door ls te gebruiken. Als we ls proberen te gebruiken op de “back-up om te verwijderen” bestand en we ontwijken of citeren de bestandsnaam niet, de opdracht mislukt.

ls -hl back-up om te verwijderen

ls klaagt dat het geen bestanden kan vinden met de naam “to” of “verwijderen”, maar het vindt wel een bestand met de naam “backup.” Dat is wat rm ook zal doen. Het zal klagen over twee ontbrekende bestanden en zal vervolgens het bestand met de naam “backup” verwijderen, wat niet is wat we wilden.

rm backup to delete < p>

rm denkt dat het werkt met drie bestanden, “backup&#8221 ;, “naar”, en “verwijderen.” Het klaagt dat het “naar” en “delete”, maar het vindt en wist “backup.”

Door de bestandsnaam te citeren kan rm het juiste bestand verwijderen.

rm ' back-up om te verwijderen'

Je zou ook kunnen ontsnappen aan de spaties met backslashes ““, zoals dit:

rm backup to delete

Als u gebruik tab-voltooiing om uw bestandsnamen in te voeren, deze worden indien nodig automatisch ge-escaped.

Welke persoonlijke beschermingsmiddelen?

In tegenstelling tot echte kettingzagen, er zijn geen persoonlijke beschermingsmiddelen die u kunt gebruiken met rm.

Wat u kunt doen, is uw syntaxis controleren met ls voordat u het met rm probeert, en de interactieve modus gebruiken zodat u kunt beslissen wat er wordt verwijderd.

Verder is het een kwestie van oefenen totdat je je comfortabel en zelfverzekerd voelt. De veiligste manier om dat te doen is door een aantal opofferingsbestanden naar een map te kopiëren en daarop te oefenen.

GERELATEERD: Bestanden ouder dan x dagen verwijderen op Linux< /strong>

LEES VOLGENDE

  • › Meerdere submappen verwijderen met één Linux-opdracht
  • › Beginner Geek: hoe te beginnen met het gebruik van de Linux Terminal
  • › Veilig bestanden verwijderen op Linux
  • › Verwijder bestanden ouder dan x dagen op Linux
  • › 8 dodelijke commando's die je nooit op Linux zou moeten uitvoeren
  • › Hoe verwijderde bestanden op Linux te herstellen met testdisk
  • › Bestanden beheren vanaf de Linux-terminal: 11 opdrachten die u moet kennen
  • › Hoe u UFC 283 Teixeira vs Hill live online kunt bekijken