Symboliska länkar, eller symlänkar, är ett sätt att förenkla hanteringen av ditt Linux-system. Detta är ganska vanligt på servrar eller arbetsstationer, där länkning av en katalog till en annan används för att applikationer ska skicka information till en annan plats i katalogträdet utan att ändra konfigurationer – viktigt för att upprätthålla ett hälsosamt system. Problemet med att använda symlänkar är dock att det inte finns någon garanti för att du alltid har båda katalogerna i den länken. Här visar vi dig hur du hittar och fixar trasiga symlänkar i Linux.
Verktygen för att fixa trasiga symlänkar
Det finns en otroligt hjälpsam applikation som heter helt enkelt symlinks
i de flesta förvar. Det är ett enkelt kommandoradsverktyg som ger bra resultat och alternativ för att radera samma trasiga symlänkar.
Använd följande kommandon för att installera den:
# For Debian/Ubuntu-based distro sudo apt install symlinks # For Fedora/CentOS sudo dnf install symlinks
Det finns ett par viktiga alternativ för symlinks
. De är -d
, som tar bort dinglande länkar, och -r
, som rekursivt gör vad som helst alternativ du anger via underkataloger.
Du kan också använda den inbyggda find
verktyg i Linux. Detta är ett mindre användarvänligt exempel, men det är bra att lära sig hitta-kommandot och hur det fungerar.
Breaking Symlinks
Först skapar jag en symbolisk länk. Detta innebär att man tar en befintlig fil och använder ln
kommando för att länka den till en fil som inte finns ännu. Det skulle vara som följande exempel för mig.
touch test-file.txt ln -s test-file.txt linked-file.txt
Du kan se via ls
kommando att länken finns.

Nu ska jag bryta den länken.
rm test-file.txt

Du kan se att även om jag har tagit bort originalfilen, ls -l
kommando rapporterar fortfarande länken. Det är här problemet kommer in. Dessa filer kan finnas i olika kataloger, vilket gör det mycket svårare att kontrollera om originalfilen fortfarande finns.

Hitta och fixa trasiga symlänkar
Sättet att fixa trasiga symlänkar är att bara ta bort dem. Det är omöjligt att ta tillbaka dem, så du måste bara rensa dem från det virtuella katalogträdet.
Att rapportera trasiga symlänkar med symlinks
verktyg, använd följande kommando:
symlinks .
Notera ”.” indikerar den nuvarande arbetskatalogen. Ändra detta för vilken katalog du vill söka. Utgången kan se ut så här:
dangling: /home/jperkins/linked-file.txt -> test-file.txt
Indikerar att ”linked-file.txt” dinglar och att symlänken är trasig. För att radera dem, använd följande kommando:
symlinks -d .
Utdata kommer att se ut som förra gången men kommer också att innehålla en rad för ”borttagen”.

För att fixa trasiga symlänkar med find
, använd följande kommando:
find . -xtype l

Observera än en gång att ”.” representerar den nuvarande arbetskatalogen. Detta ger en mindre användarvänlig produktion men kommer ändå att vara till hjälp.
Och för att radera, lägg till delete
alternativ.
find . -xtype l -delete

Du får ingen utdata för den här, men om du kör den igen utan -delete
alternativ hittar du inget.
Det är allt. Nu kan du enkelt hitta trasiga symlänkar och ta bort dem innan de orsakar fler problem. Det finns fler handledning om symlänkar som du bör kolla in. Du kan också lära dig mer om skillnaden mellan en symlink och en hård länk och när du ska använda dem.
Relaterad:
-
Hur man skapar symboliska länkar (Symlink) i Windows 10
-
Hur man använder fd för att snabbt hitta filer i Linux och macOS
-
8 sätt att upprätthålla en ren, mager Ubuntu-maskin