logo

Linux rm | Linux Slet fil

'rm' betyder fjern. Denne kommando bruges til at fjerne en fil. Kommandolinjen har ikke en papirkurv eller papirkurv i modsætning til andre GUI'er til at gendanne filerne. Vær derfor meget forsigtig, mens du bruger denne kommando. Når du har slettet en fil, fjernes den permanent.

Introduktion til rm

rm er en generel kommando i Unix og andre Unix-lignende systemer. Det bruges til at slette objekter som symbolske links, mapper og computerfiler fra filsystemerne. Det fjerner også nogle specielle filer som sockets, pipes og device noder, det samme som del-kommandoen i Microsoft Windows, OS/2 og MS-DOS. Kommandoen er også tilgængelig inde i EFI-skallen.

Oversigt over rm

Kommandoen rm sletter objektreferencer fra filsystemet ved hjælp af unlink systemkaldet, hvor objekterne kan have haft to eller flere referencer (f.eks. en fil med to navne), og objekterne fjernes kun selv, hvis hver reference er blevet slettet, og programmerne har stadig ikke været åbne håndtag for objekterne.

ascii tabel i c
  • Det tillader scenarier, hvor et program kan starte en fil, fjerne den med det samme fra filsystemet og bruge den til begrænset plads, vel vidende at filens plads vil blive gendannet efter programmet afvises, selv når det afviser ved at gå ned.
  • Generelt skader kommandoen ikke fildata, fordi dens formål er virkelig svært at fjerne linket til referencer. Desuden kan den frigjorte filsystemplads stadig indeholde resterende data ved hjælp af den slettede fil. Det kan være en sikkerhedshensyn i nogle få tilfælde, og hærdede udgivelser tillader nogle gange at slette dataene, fordi det sidste link er klippet, og programmer som f.eks. srm og trevl er tilgængelige specifikt for at give datasletningsfunktioner.
  • rm-kommandoen findes kun på Unix-afledte operativsystemer, som typisk ikke tillader gendannelse af fjernede filer ved hjælp af en metode, såsom papirkurven, så brugernes vane til at omslutte rm-kommandoen er en type indpakning, der begrænser utilsigtet sletning af filer.
  • Der er også nogle gendansletningsværktøjer, der vil forsøge at genskabe indekset, og hvis delene ikke genbruges, kan det få filen tilbage.

Kort historie om rm

Kommandoen rm vil fjerne mapper, hvis de er tomme på nogle få gamle udgivelser af Unix. Alligevel kan adfærden bringes i nogle få versioner af rm-kommandoen ved at bruge -d-indstillingen, f.eks. BSD'erne (som macOS, OpenBSD, NetBSD og FreeBSD) afledt af 4.4BSD-Lite2.

Desuden tilbyder rm-versionen, grupperet i GNU-coreutils, flaget -d for at hjælpe med kompatibilitet. Lignende funktionalitet tilbydes af standard rmdir. I version 7 erstattes flaget -i med 'slet fra switches' eller dsw, som dukkede op i version 1.

Syntaks:

 rm 

rm-kommandoen fjerner filen, der er opkaldt efter indstillinger er inkluderet. Brugere kan bruge en relativ sti eller en komplet sti til filen til at navngive de filer, der skal fjernes. Kommandoen rm fjerner som standard ikke en mappe. Kommandoen rm foo fjerner 'foo' fil i brugerens aktuelle mappe.

rm kommandoen kan dækkes af en shell alias funktion af rm -i kommandoen for at ignorere utilsigtet sletning af filer. Alligevel, hvis en bruger ønsker at fjerne en masse filer uden godkendelse, kan de indstille -i-flaget ved at inkludere -f-flaget manuelt. Denne tilgang frembringer desværre farlige vaner til brug af jokertegn, hvilket forårsager dens utilsigtede fjernelsesversion.

nfa eksempler

Det rm -rf kommando bruges ofte i anekdoter og vittigheder om Unix-katastrofer, herunder tab af flere filer under oprettelsen af ​​filmen Pixar og Toy Story 2 . Det rm -rf / version af kommandoen vil føre til, at alle filer, der er tilgængelige ved hjælp af det aktuelle filsystem, fjernes gennem maskinen, hvis de udføres af en superbruger.

netværkstopologier

På den overordnede mappe kræver fjernelse af en fil skrivetilladelsen på de fleste filsystemer. For at fjerne en mappe skal man rekursivt fjerne hvert af dets indhold. Det kræver, at man rekursivt skal indeholde udførelses- og skrivetilladelserne for den mappe og den ikke-tomme mappe. Læsetilladelserne er nødvendige for at specificere bibliotekets indhold for at fjerne dem. Nogle gange forårsager det en mærkelig situation, hvor en ikke-tom mappe ikke kan fjernes, da man ikke har skrivetilladelsen, så man kan ikke fjerne dens indhold; selvom en lignende mappe var tom, kunne man fjerne den.

Eksempel:

 rm myfile1 

rm fil

I ovenstående snapshot har vi fjernet filen myfile1 permanent ved hjælp af 'rm'-kommandoen.

rm indstillinger

MulighedBeskrivelse
rm *forlængelseBruges til at slette filer med samme filtypenavn.
rm -r eller RFor at slette en mappe rekursivt.
rm -iFjern en fil interaktivt.
rm -rfFjern en mappe med magt.
-f-f står for kraft. Den ignorerer filer, der ikke eksisterer, og tilsidesætter bekræftelsesprompterne. Det vil dog ikke slette filer gennem et bibliotek, når det er skrivebeskyttet.
-i-v står for verbose. Den udskriver, hvad rm-kommandoen gør i terminalen.
-d-d står for mappe. Det fjerner en tom mappe og virker kun, hvis den navngivne mappe er tom.
--én-fil-systemDet sletter kun filer på et lignende filsystem som argumentet og vil undgå det monterede filsystem.