Wilt u meer weten over het verwijderen van gebroken symlinks op uw systeem? Misschien heeft iemand je verteld hoe dode symbolische koppelingen ruimte innemen op je opslagapparaat en wil je er nu voorgoed vanaf.

Gelukkig zijn er verschillende hulpprogramma's beschikbaar die je op je Linux-computer kunt downloaden om symbolische koppelingen te beheren. Deze tools helpen u ook bij het vinden van kapotte softlinks en deze permanent te repareren.

Hier zullen we bespreken hoe u gebroken symbolische koppelingen op uw systeem kunt rapporteren en herstellen met behulp van symlinks en vind opdracht.

Over het algemeen heeft elk computersysteem twee soorten linkssoft-koppelingen en harde koppelingen. Harde koppelingen zijn telefoonboekvermeldingen die een specifieke naam koppelen aan een bestand dat op uw systeem aanwezig is. Dit zijn de originele bestanden die op een bepaald adres in uw opslag zijn opgeslagen.

Aan de andere kant zijn zachte links tekstreeksen die twee mappen of bestanden met elkaar verbinden. Programmasnelkoppelingen zijn een goed voorbeeld van symbolische koppelingen. Stel dat bestand A een symbolische koppeling heeft met bestand B. Dit betekent dat bestand A het absolute of relatieve pad naar bestand B zal opslaan.

instagram viewer

Verwant: Hoe maak je een symlink in Linux

Wat is een symbolische link (symlink)? Hoe maak je er een aan in Linux

Bestandssnelkoppelingen zijn handig, maar symbolische koppelingen (symlinks) kunnen de manier waarop u bestanden en mappen onder Linux, macOS en Windows gebruikt, veranderen.

Om een ​​symlink te maken:

  1. Start de terminal door op te drukken Ctrl + Alt + T op je toetsenbord.
  2. Maak een nieuw tekstbestand met de naam text.txt.
    raak text.txt aan
  3. Koppel een ander tekstbestand (another.txt) met het bestand dat u zojuist hebt gemaakt (text.txt).
    ln -s text.txt een ander.txt

U hebt zojuist twee verschillende tekstbestanden aan elkaar gekoppeld met behulp van een symbolische link. De ln commando is de standaardmanier om symbolische koppelingen te maken op een Linux-gebaseerd besturingssysteem. De -s in het bovengenoemde commando staat voor symbolische koppelingen.

Verwant: Hoe de ls-opdracht in Linux te gebruiken

Het grootste probleem met symbolische koppelingen is dat als u het doelbestand verwijdert of verplaatst, de symbolische koppeling niet automatisch wordt verwijderd. In plaats daarvan verwijst de link nu naar een bestand dat niet eens op uw systeem aanwezig is. Dergelijke links staan ​​bekend als hangende, verbroken, verweesde of dode links.

Eerst moet u bevestigen dat er een symbolische link in het systeem bestaat. U kunt dat eenvoudig doen met behulp van de ll en grep opdracht.

ll | grep txt

De bovenstaande opdracht geeft een lijst van alle symbolische koppelingen die zijn gekoppeld aan tekstbestanden in uw huidige werkmap.

Als we de symlink die we hierboven hebben gemaakt zouden verbreken door het bovenliggende tekstbestand (text.txt):

rm text.txt

De symlink zal breken en wordt niet van uw systeem verwijderd. U kunt dit bevestigen door het ll | grep txt commando in uw terminal opnieuw.

Hoewel een paar gebroken symlinks geen schade toebrengen aan uw computer, kunnen dit in een mum van tijd geleidelijk duizend worden. Daarom is het nodig om hangende koppelingen op uw systeem te controleren.

De enige manier om deze gebroken symlinks te herstellen, is door ze te verwijderen. Uw systeem bevat honderden hangende koppelingen en niemand heeft de tijd om deze koppelingen handmatig te controleren. In dergelijke gevallen blijken Linux-tools en -opdrachten erg nuttig te zijn.

Symlinks is een krachtig hulpprogramma dat u alle tools biedt die u nodig hebt om gebroken symlinks op uw systeem te beheren en te herstellen. Omdat het niet standaard op de meeste Linux-distributies is geïnstalleerd, moet u het handmatig installeren.

U kunt Pacman gebruiken om installeer het pakket op Arch Linux:

sudo pacman -S symlinks

Op Fedora:

sudo dnf installeer symlinks

Op CentOS:

sudo yum installeer symlinks

Op op Debian gebaseerde distributies:

sudo apt-get install symlinks

Als u Ubuntu gebruikt, moet u, voordat u het symlinks-pakket installeert, de universe-repository toevoegen aan de lijst met repository's van uw systeem.

sudo add-apt-repository universe

Nadat u met succes symlinks hebt geïnstalleerd, moet u controleren op verweesde links op uw systeem. Voer hiervoor het volgende in:

symlinks.

De . (punt) karakter verwijst naar de huidige werkdirectory. Als u gebroken symlinks in uw /home directory, u kunt dit doen door het volgende in te voeren:

symlinks / home

Als er een verbroken link op uw systeem aanwezig is, krijgt u een uitvoer die er ongeveer zo uitziet.

bungelend: /home/sharmadeepesh/another.txt -> test.txt

Om de gerapporteerde symlink snel te verwijderen, kunt u de -d vlag met het standaard commando.

symlinks -d.

Om bungelende symbolische koppelingen in het /home directory, voer het volgende in:

symlinks -d / home

Deze keer zal de uitvoer niet alleen de verbroken link weergeven, maar ook melden dat de link nu is verwijderd.

bungelend: /home/sharmadeepesh/another.txt -> test.txt
verwijderd: /home/sharmadeepesh/another.txt -> test.txt

Om verbroken symbolische koppelingen in een bepaalde map recursief te rapporteren en te verwijderen, gebruikt u de -dr vlag met de standaardopdracht, where d staat voor delete en r staat voor recursief.

symlinks -dr.

Met behulp van het zoekcommando

De vind commando is voorgeïnstalleerd op elk Linux-systeem. Zoals de naam doet vermoeden, kan dat zoeken naar mappen en bestanden met behulp van deze opdracht. De vind commando stelt u in staat om dode softlinks op uw systeem ook gemakkelijk te rapporteren en te verwijderen.

Om verbroken symbolische koppelingen in uw huidige werkmap weer te geven, typt u:

vind. -xtype l

Om verbroken koppelingen in een andere map op uw systeem te vinden, vervangt u gewoon de. (punt) teken met het directorypad. De volgende opdracht zoekt naar verbroken koppelingen in het /home directory.

zoek / home -xtype l

U kunt ook een lijst maken van de verbroken symlinks die niet door uw systeem worden gebruikt.

vind. -xtype l! -exec test -e {} \; -afdrukken

Gebruik om te controleren waar deze verbroken links naar verwijzen:

vind. -xtype l -exec ls -l {} \ +

Afhankelijk van het aantal verbroken symbolische koppelingen op uw systeem, krijgt u een uitvoer die er ongeveer zo uitziet.

lrwxrwxrwx 1 root root 19 Feb 21 11:53 /home/sharmadeepesh/another.txt -> /home/sharmadeepesh/text.txt

Bovendien kunt u verbroken symbolische koppelingen in één keer verwijderen met het volgende commando.

sudo vinden. -xtype l -verwijderen

Er is ook een alternatieve manier om dode links te verwijderen:

sudo vinden. -xtype l! -exec test -e {} \; -verwijderen

Symbolische koppelingen zijn belangrijk voor een Linux-systeem omdat ze het proces van padresolutie en -beheer op uw computer vergemakkelijken. Maar als er niet voor wordt gezorgd, kunnen verbroken symbolische koppelingen een groot deel van uw systeemopslag in beslag nemen en weet u het niet eens. In dergelijke situaties kunnen hulpprogramma's zoals symlinks en vind in het spel komen.

Als je een beginner bent en je expertise in Linux wilt verbeteren, dan is het af en toe leren van nieuwe commando's de perfecte aanpak om voor te gaan. Gebruikers moeten weten welk commando ze nodig hebben om een ​​bepaalde situatie efficiënt op te lossen.

E-mail
9 basisopdrachten om aan de slag te gaan met Linux

Wilt u vertrouwd raken met Linux? Begin met deze basis Linux-opdrachten om standaard computertaken te leren.

Gerelateerde onderwerpen
  • Linux
  • Terminal
  • Linux
  • Symbolische link
Over de auteur
Deepesh Sharma (12 Artikelen gepubliceerd)

Deepesh is een Tech-blogger en schrijft al meer dan 3 jaar informatieve inhoud. Momenteel volgt hij zijn bachelor in computerapplicaties aan een gerenommeerde universiteit in India. In zijn vrije tijd houdt hij van schrijven, naar muziek luisteren en gitaar spelen.

Meer van Deepesh Sharma

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Nog een stap…!

Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.

.