Betalingsmåter Abuse

Fjerne lenker i Linux

10.04.2022, 01:05

En lenke i Linux er en spesiell fil som refererer til en annen fil eller katalog. På denne måten kan en fil plasseres på flere steder samtidig. Når den opprinnelige filen slettes, beholdes lenken til den. Dette kan føre til krasj og til at systemet generelt sett blir tilstoppet.

Slik sletter du en lenke

Til å begynne med skal vi forklare metoden for å sjekke at filen faktisk er en lenke. Dette gjøres enkelt ved hjelp av ls-verktøyet. Etter det, la oss se på tre metoder for fjerning, hver med sine egne særegenheter.

Verifisere at det er en lenke

Ved hjelp av ls er det praktisk å se informasjon om filen. For å bruke verktøyet, gi det -l-alternativet og spesifiser banen. La oss ta filen ~/symlinks/link_1 som eksempel:

$ ls -l ~/symlinks/link_1

Fjerne lenker i Linux

Du kan sjekke en hel katalog for lenker:

$ ls -l ~/symlin

Fjerne lenker i Linux

En fil som ikke er nødvendig, er merket med en karakteristisk pil etter navnet.

Bruke rm

Kommandoen rm kan brukes til å slette alle filer i Linux-filsystemet, inkludert lenker. Det vil si at den egner seg for vår oppgave. Det er viktig å nevne at den opprinnelige filen eller katalogen ikke vil bli påvirket av at lenken slettes.

Kjør kommandoen i terminalen:

$ rm ~/symlinks/link_1

Fjerne lenker i Linux

For å få detaljert informasjon om prosedyren, kan du legge til alternativet -v i kommandoen:

$ rm -v ~/symlinks/link_1

Fjerne lenker i Linux

I tillegg kan du sjekke om lenken har forsvunnet fra katalogen. For å gjøre dette bruker du den tidligere beskrevne kommandoen ls.

Fjerne lenker i Linux

Nå vet du hvordan du fjerner en symbolsk lenke i Linux.

Bruke UNLINK

Verktøyet unlink er utviklet for å fjerne filer fra Linux-filsystemet. Det trenger bare å angi stien til lenken:

$ unlink ~/symlinks/link_1

Fjerne lenker i Linux

Innenfor rammene av den aktuelle oppgaven fungerer rm og unlink nesten identisk. La oss nå gå videre til den siste metoden.

Bruke Find

Ved hjelp av find-kommandoen kan du søke etter og slette lenker i en gitt katalog. Dette betyr at du ikke trenger å bruke ls i tillegg.

Fjerne lenker i Linux

I motsetning til de to foregående alternativene har den ganske avanserte funksjoner, for eksempel å angi søkekriterier. Men syntaksen er ikke så enkel av denne grunn heller.

For å søke må du spesifisere en katalog og noen få parametere:

$ find ~/symlinks/ -type l -print

Fjerne lenker i Linux

Parameteren -type l er nødvendig for å velge bare symbolske lenker, -print for å skrive ut det fulle navnet. Og ved hjelp av -maxdepth kan du spesifisere dybden på søket etter nestede kataloger. Hvis du angir 1, vil søket bare bli utført på selve katalogen, uten vedlegg:

$ find ~/symlinks/ -maxdepth 1 -type l -print

Fjerne lenker i Linux

Når det er mange lenker i katalogen, kan du spesifisere et søkemønster for find-kommandoen. La oss ta et eksempel der vi bare ønsker å finne skjulte lenker med en dato for siste endring som ikke er mer enn 30 dager gammel:

$ find ~/data/ -type l -name ".*" -mtime -30 -print

Fjerne lenker i Linux

To kriterier er lagt til:

  • -name - søk etter navn.
  • -mtime - etter endringstidspunkt.

Alle lenker som blir funnet, kan slettes i henhold til det angitte mønsteret. For dette formålet er -print erstattet av -delete:

$ find ~/data/ -type l -name ".*" -mtime -30 -delete

Fjerne lenker i Linux

På slutten av instruksjonen skal vi ta for oss søk og sletting av ødelagte lenker som ikke fører noe sted, for eksempel etter sletting av den opprinnelige filen eller katalogen. Parameteren -xtype l er egnet for dette formålet. -print er ikke nødvendig for utdata:

$ find ~/broken_links/ -xtype l

Fjerne lenker i Linux

Resultatet er at alle ødelagte lenker vises i terminalen. For å fjerne dem legger du til -delete på slutten av kommandoen:

$ find ~/broken_links/ -xtype l -delete

Fjerne lenker i Linux

Dette fullfører instruksjonene for å slette en lenke i Linux.