Sletning af en fil på et hvilket som helst operativsystem er normalt lige så nemt som at klikke på den og trykke på delete-tasten eller højreklikke og sende den til papirkurven. Vi ved alle, hvordan man gør det, og det er den bedste mulighed for at slette en fil foran os. Men hvad sker der, når det, vi ønsker, for eksempel er at slette flere filer, der er inde i samme mappe? Det sker, at vi i Linux har rm-kommando som vil give os mulighed for at fjerne praktisk talt alt fra terminalen.
"rm" er Forkortelse af "remove", som er "eliminere" på engelsk. Det bruges til at slette filer, og hvis det bruges rekursivt, vil det også give os mulighed for at slette mapper. Som standard vil det ikke fjerne mapper og vil fjerne alle filer angivet på kommandolinjen. Stripningsprocessen frigør et filsystems filnavn fra dets tilknyttede data og markerer lagerpladsen som brugbar til fremtidige skrivninger. Du skal være forsigtig, for når noget først er blevet fjernet med rm, kan det ikke længere gendannes.
Muligheder til rådighed for rm
-f, -kraft |
Den ignorerer ikke-eksisterende filer og spørger aldrig før sletning. |
-i | Spørg før sletning. |
-I | Spørg én gang, før du sletter mere end tre filer, eller når du sletter rekursivt. |
–Interaktiv[=NÅR] | Spørgsmål iflg NÅR: aldrig, én gang (-I), eller altid (-i). Ja NÅR ikke specificeret, spørg altid. |
--én-fil-system | Når du sletter et hierarki rekursivt, springer det enhver mappe over, der er i en anden mappe end den, der svarer til kommandolinjeargumentet. |
--ingen-bevaringsrod | Det behandler ikke rodmappen på nogen speciel måde. |
--bevar-rod | Det fjerner ikke rodmappen, som er standardadfærden. |
-r, -R, –Rekursiv |
Fjern mapper og deres indhold rekursivt. |
-d, -dir |
Fjern tomme mapper. Denne mulighed giver os mulighed for at fjerne en mappe uden at angive -r/-R/–rekursiv. |
-v, --ordrig |
Udførlig tilstand; Forklar til enhver tid, hvad der bliver gjort. |
-Hjælp | Vis en hjælpemeddelelse. |
-version | Vis versionsoplysninger. |
Praktiske eksempler
rm fjerner ikke mapper som standard. For at gøre dette skal vi bruge de -r/-R/–rekursive muligheder. Hvis en mappe er tom, skal du bruge indstillingen n -d/–dir. Hvis vi vil slette en fil, der starter med en bindestreg (-), skal vi tilføje en separat dobbelt bindestreg (–) før filnavnet. Hvis den anden bindestreg ikke tilføjes, kan rm misfortolke filnavnet som en mulighed. Det er værd at huske, at stjernen (*) betyder "alt, der matcher", tilføjer "*." og kun bagved stjernen.
For at slette filen "-test.txt" skal vi f.eks. bruge kommandoen
rm -- -prueba.txt
Ovenstående vil være i det tilfælde, hvor det er i vores personlige mappe. Hvis ikke, bliver vi nødt til at tilføje den fulde sti, som ville være noget i retning af:
rm /home/pablinux/Documentos/-file
Forskellen mellem de to muligheder er, at den i det andet tilfælde er indledt af en skråstreg (/), hvilket betyder, at indstillingen ikke forveksles.
Andre eksempler er:
- rm -f test-txt: vil slette "test.txt"-filen uden at spørge, selvom den er beskyttet.
- rm *: det vil slette alle filerne i den mappe, hvor vi er fra terminalen. Hvis den har skrivebeskyttelse, vil den spørge os, før den sletter den.
- rm -f *: fjerner alt inde i mappen uden at spørge.
- rm -i *: vil forsøge at slette alle filer i en mappe, men vil hver gang bede om at slette en.
- rm -I *: som ovenfor, men vil kun bede om bekræftelse, hvis der er mere end tre filer.
- rm -r bibliotek, hvor "bibliotek" er et specifikt: Fjerner mappen "bibliotek" og alle filer og undermapper, det indeholder. Hvis en fil eller undermappe har skrivebeskyttelse, vil den spørge.
- rm -rf bibliotek: Samme som ovenfor, men spørger ikke.
Kommandoen du aldrig bør bruge: rm -rf /
Og vi ender med en kommando, som vi kan se på sociale netværk mere som en joke end noget andet. Ovenstående kommando betyder 1- slet, 2- så meget som det kan rekursivt og 3- starter ved roden. På grund af hvordan Linux administrerer drevene, vil det også slette indholdet af enhver harddisk, som vi har tilsluttet til vores computer. Hvis du bruger det, så sig ikke, at vi ikke havde advaret.
Interessant om afklaringen vedrørende den sidste kommando vidste jeg, at jeg kunne slette alt indholdet på disken, hvor systemet er, men jeg vidste ikke, at det også slettede indholdet på nogen anden disk, som vi har tilsluttet!
Mange tak, dit indlæg var meget nyttigt, jeg løste mit problem meget let, men uden det ville jeg ikke have haft succes.