Betaalmethoden Abuse

Links verwijderen in Linux

10.04.2022, 01:05

Een link in Linux is een speciaal bestand dat verwijst naar een ander bestand of een andere map. Op deze manier kan één bestand op meerdere plaatsen tegelijk staan. Wanneer het originele bestand wordt verwijderd, blijft de link behouden. Dit kan leiden tot crashes en verstopt het systeem in het algemeen.

Een link verwijderen

Laten we om te beginnen de methode uitleggen om te controleren of het bestand daadwerkelijk een link is. Dit wordt eenvoudig gedaan met het hulpprogramma ls. Laten we daarna drie verwijderingsmethoden bekijken, elk met zijn eigen bijzonderheden.

Controleren of het een link is

Met behulp van ls is het handig om informatie over het bestand te bekijken. Om het hulpprogramma te gebruiken, geef je het de optie -l en geef je het pad op. Laten we als voorbeeld het bestand ~/symlinks/link_1 nemen:

$ ls -l ~/symlinks/link_1

Links verwijderen in Linux

Je kunt een hele catalogus controleren op links:

$ ls -l ~/symlin

Links verwijderen in Linux

Een bestand dat niet nodig is, wordt gemarkeerd met een karakteristieke pijl achter zijn naam.

Rm gebruiken

De opdracht rm kan worden gebruikt om elk bestand in het Linux-bestandssysteem te verwijderen, inclusief links. Het is dus geschikt voor onze taak. Het is belangrijk om hier te vermelden dat het verwijderen van de link geen invloed heeft op het originele bestand of de originele map.

Voer de opdracht uit in de terminal:

$ rm ~/symlinks/link_1

Links verwijderen in Linux

Voeg ook de optie -v toe aan de opdracht om gedetailleerde informatie over de procedure te krijgen:

$ rm -v ~/symlinks/link_1

Links verwijderen in Linux

Daarnaast kun je controleren of de link uit de map is verdwenen. Gebruik hiervoor het eerder beschreven commando ls.

Links verwijderen in Linux

Nu weet je hoe je een Linux symbolische link verwijdert.

UNLINK gebruiken

Het hulpprogramma unlink is ontworpen om bestanden van het Linux-bestandssysteem te verwijderen. Je hoeft alleen het pad naar de link op te geven:

$ unlink ~/symlinks/link_1

Links verwijderen in Linux

Binnen het bestek van de taak werken rm en unlink bijna identiek. Laten we nu verder gaan met de laatste methode.

Zoeken gebruiken

Met behulp van het commando find kun je links in een bepaalde map zoeken en verwijderen. Dit betekent dat je ls niet extra hoeft te gebruiken.

Links verwijderen in Linux

In tegenstelling tot de vorige twee opties, heeft het vrij geavanceerde functies, bijvoorbeeld het instellen van zoekcriteria. Maar de syntaxis is daarom ook niet zo eenvoudig.

Om te zoeken moet je een map en een paar parameters opgeven:

$ find ~/symlinks/ -type l -print

Links verwijderen in Linux

De -type l parameter is nodig om alleen symbolische links te selecteren, -print om de volledige naam uit te voeren. En met behulp van -maxdepth kun je de zoekdiepte voor geneste mappen opgeven. Als je 1 opgeeft, wordt er alleen in de map zelf gezocht, zonder bijlagen:

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

Links verwijderen in Linux

Als er veel koppelingen in de map staan, kun je een zoekpatroon opgeven voor de opdracht find. Als voorbeeld nemen we een situatie waarin we alleen verborgen koppelingen willen vinden met een laatst gewijzigde datum van niet meer dan 30 dagen geleden:

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

Links verwijderen in Linux

Twee criteria zijn toegevoegd:

  • -naam - zoeken op naam.
  • -mtime - op wijzigingstijd.

Alle gevonden links kunnen worden verwijderd volgens het opgegeven patroon. Hiervoor is -print vervangen door -delete:

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

Links verwijderen in Linux

Aan het einde van de instructie laten we het zoeken en verwijderen van gebroken links behandelen die nergens toe leiden, bijvoorbeeld na het verwijderen van het originele bestand of map. De parameter -xtype l is geschikt voor dit doel. -print is niet nodig voor de uitvoer:

$ find ~/broken_links/ -xtype l

Links verwijderen in Linux

Het resultaat is dat alle gebroken links in de terminal worden weergegeven. Om ze te verwijderen, voeg je -delete toe aan het einde van het commando:

$ find ~/broken_links/ -xtype l -delete

Links verwijderen in Linux

Hiermee zijn de instructies voor het verwijderen van een link in Linux voltooid.