Betalingsmetoder Abuse

Fjernelse af links i Linux

10.04.2022, 01:05

Et link i Linux er en særlig fil, der henviser til en anden fil eller et andet bibliotek. På den måde kan en fil placeres flere steder på én gang. Når den oprindelige fil slettes, bevares linket til den. Det kan resultere i nedbrud og tilstopper generelt systemet.

Sådan sletter du et link

Lad os starte med at forklare, hvordan man kontrollerer, at filen faktisk er et link. Det gøres nemt ved hjælp af ls-værktøjet. Derefter ser vi på tre metoder til fjernelse, hver med sine egne særegenheder.

Bekræftelse af, at det er et link

Ved hjælp af ls er det praktisk at se oplysninger om filen. For at bruge værktøjet skal du give det indstillingen -l og angive stien. Lad os som eksempel tage filen ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Fjernelse af links i Linux

Du kan tjekke et helt katalog for links:

$ ls -l ~/symlin

Fjernelse af links i Linux

En fil, der ikke er brug for, er markeret med en karakteristisk pil efter navnet.

Brug af rm

Kommandoen rm kan bruges til at slette alle filer i Linux' filsystem, inklusive links. Det vil sige, at den er velegnet til vores opgave. Det er vigtigt at nævne her, at den oprindelige fil eller mappe ikke bliver påvirket af, at linket slettes.

Kør kommandoen i terminalen:

$ rm ~/symlinks/link_1

Fjernelse af links i Linux

For at få detaljerede oplysninger om proceduren skal du også tilføje indstillingen -v til kommandoen:

$ rm -v ~/symlinks/link_1

Fjernelse af links i Linux

Derudover kan du tjekke, om linket er forsvundet fra mappen. Det gør du ved at bruge den tidligere beskrevne kommando ls.

Fjernelse af links i Linux

Nu ved du, hvordan du fjerner et symbolsk link i Linux.

Brug af UNLINK

Værktøjet unlink er designet til at fjerne filer fra Linux' filsystem. Det behøver kun at angive stien til linket:

$ unlink ~/symlinks/link_1

Fjernelse af links i Linux

Inden for rammerne af den aktuelle opgave fungerer rm og unlink næsten identisk. Lad os nu gå videre til den sidste metode.

Brug af Find

Ved hjælp af find-kommandoen kan du søge efter og slette links i en given mappe. Det betyder, at du ikke behøver at bruge ls yderligere.

Fjernelse af links i Linux

I modsætning til de to foregående muligheder har den ret avancerede funktioner, f.eks. indstilling af søgekriterier. Men syntaksen er heller ikke så enkel af den grund.

For at søge skal du angive en mappe og et par parametre:

$ find ~/symlinks/ -type l -print

Fjernelse af links i Linux

Parameteren -type l er nødvendig for kun at vælge symbolske links, -print for at udskrive det fulde navn. Og ved hjælp af -maxdepth kan du angive dybden af søgningen i indlejrede mapper. Hvis du angiver 1, vil søgningen kun blive udført på selve biblioteket uden vedhæftede filer:

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

Fjernelse af links i Linux

Når der er mange links i mappen, kan man angive et søgemønster for find-kommandoen. Lad os som eksempel tage en situation, hvor vi kun vil finde skjulte links med en sidste ændringsdato for højst 30 dage siden:

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

Fjernelse af links i Linux

Der er tilføjet to kriterier:

  • -name - søg efter navn.
  • -mtime - efter ændringstidspunkt.

Alle fundne links kan slettes i henhold til det angivne mønster. Til dette formål er -print erstattet af -delete:

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

Fjernelse af links i Linux

I slutningen af instruktionen skal vi se på søgning og sletning af brudte links, som ikke fører nogen steder hen, f.eks. efter sletning af den oprindelige fil eller mappe. Parameteren -xtype l er velegnet til dette formål. -print er ikke påkrævet for output:

$ find ~/broken_links/ -xtype l

Fjernelse af links i Linux

Resultatet er, at alle ødelagte links vises i terminalen. Hvis du vil fjerne dem, skal du tilføje -delete i slutningen af kommandoen:

$ find ~/broken_links/ -xtype l -delete

Fjernelse af links i Linux

Dette afslutter instruktionerne til at slette et link i Linux.