Betalningsmetoder Abuse

Ta bort länkar i Linux

10.04.2022, 01:05

En länk i Linux är en speciell fil som hänvisar till en annan fil eller katalog. På så sätt kan en fil placeras på flera ställen samtidigt. När originalfilen raderas behålls länken. Detta kan resultera i krascher och i allmänhet täppa till systemet.

Hur man tar bort en länk

Till att börja med ska vi förklara metoden för att kontrollera att filen faktiskt är en länk. Detta görs bekvämt med hjälp av ls-verktyget. Efter det, låt oss titta på tre metoder för borttagning, var och en med sina egna särdrag.

Verifiera att det är en länk

Med hjälp av ls är det bekvämt att se information om filen. För att använda verktyget, ge det alternativet -l och ange sökvägen. Som ett exempel kan vi ta filen ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Ta bort länkar i Linux

Du kan kontrollera en hel katalog med avseende på länkar:

$ ls -l ~/symlin

Ta bort länkar i Linux

En fil som inte behövs markeras med en karakteristisk pil efter namnet.

Använda Rm

Kommandot rm kan användas för att radera alla filer i Linux filsystem, inklusive länkar. Det är alltså lämpligt för vår uppgift. Det är viktigt att nämna här att originalfilen eller katalogen inte påverkas av att länken raderas.

Kör kommandot i terminalen:

$ rm ~/symlinks/link_1

Ta bort länkar i Linux

Om du vill få detaljerad information om proceduren lägger du till alternativet -v i kommandot:

$ rm -v ~/symlinks/link_1

Ta bort länkar i Linux

Dessutom kan du kontrollera om länken har försvunnit från katalogen. För att göra detta använder du det tidigare beskrivna kommandot ls.

Ta bort länkar i Linux

Nu vet du hur du tar bort en symbolisk länk i Linux.

Använda UNLINK

Verktyget unlink är utformat för att ta bort filer från Linux filsystem. Det behöver bara ange sökvägen till länken:

$ unlink ~/symlinks/link_1

Ta bort länkar i Linux

Inom ramen för den aktuella uppgiften fungerar rm och unlink nästan identiskt. Låt oss nu gå vidare till den sista metoden.

Använda hitta

Med hjälp av kommandot find kan du söka efter och radera länkar i en viss katalog. Detta innebär att du inte behöver använda ls ytterligare.

Ta bort länkar i Linux

Till skillnad från de två föregående alternativen har det ganska avancerade funktioner, till exempel att ställa in sökkriterier. Men syntaxen är inte så enkel av den anledningen heller.

För att söka måste du ange en katalog och några parametrar:

$ find ~/symlinks/ -type l -print

Ta bort länkar i Linux

Parametern -type l behövs för att välja endast symboliska länkar, -print för att skriva ut det fullständiga namnet. Och med hjälp av -maxdepth kan du ange hur djupt sökningen ska gå i nästlade kataloger. Om du anger 1 kommer sökningen endast att utföras på själva katalogen, utan bilagor:

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

Ta bort länkar i Linux

När det finns många länkar i katalogen kan du ange ett sökmönster för kommandot find. Som exempel kan vi ta en situation där vi bara vill hitta dolda länkar med ett senaste ändringsdatum som inte är mer än 30 dagar gammalt:

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

Ta bort länkar i Linux

Två kriterier har lagts till:

  • -name - sök efter namn.
  • -mtime - efter ändringstid.

Alla hittade länkar kan raderas enligt det angivna mönstret. För detta ändamål ersätts -print med -delete:

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

Ta bort länkar i Linux

I slutet av instruktionen tar vi upp sökning och radering av brutna länkar som inte leder någonstans, t.ex. efter att den ursprungliga filen eller katalogen har raderats. Parametern -xtype l är lämplig för detta ändamål. -print krävs inte för utdata:

$ find ~/broken_links/ -xtype l

Ta bort länkar i Linux

Resultatet blir att alla brutna länkar visas i terminalen. Om du vill ta bort dem lägger du till -delete i slutet av kommandot:

$ find ~/broken_links/ -xtype l -delete

Ta bort länkar i Linux

Detta avslutar instruktionerna för att radera en länk i Linux.