Hoe verander ik een symbolische link in Linux?

Er zijn dan drie manieren om de symbolische link te wijzigen:

  1. Gebruik ln met -f force en zelfs voor mappen -n (inode kan hergebruikt worden): ln -sfn /some/new/path linkname.
  2. Verwijder de symbolische link en maak een nieuwe aan (zelfs voor mappen): rm linkname; ln -s /some/new/path linkname.

Nee. De symlink-systeemaanroep retourneert EEXIST als newpath al bestaat. U kunt alleen linken vanaf een nieuw knooppunt in het bestandssysteem.

Wat gebeurt er met symlink als we een bestand hernoemen? Zodra u een bestand verplaatst waarnaar symlink verwijst, symlink is kapot oftewel bungelende symlink. U moet het verwijderen en een nieuwe maken als u naar de nieuwe bestandsnaam wilt verwijzen.

Aangezien symbolische links geen modi hebben chmod heeft geen effect op de symbolische verbindingen. Als het bestand een map aanwijst, verandert chmod de modus van elk bestand in de hele substructuur die op dat punt is verbonden. Volg geen symbolische links. Aangezien symbolische links geen modi hebben, heeft chmod geen effect op de symbolische links.

Om een ​​symbolische link te verwijderen, gebruikt u ofwel het commando rm of unlink gevolgd door de naam van de symbolische link als argument. Bij het verwijderen van een symbolische link die naar een map verwijst, voeg dan geen schuine streep toe aan de naam van de symbolische link.

De reden waarom directories hard linken is: niet toegestaan is een beetje technisch. In wezen breken ze de structuur van het bestandssysteem. Over het algemeen moet je sowieso geen harde links gebruiken. Symbolische links laten de meeste van dezelfde functionaliteit toe zonder problemen te veroorzaken (bijv. ln -s target link ).

Om een ​​symbolische link te maken, gebruik de -s ( –symbolic ) optie. Als zowel de FILE als de LINK zijn opgegeven, zal ln een link maken van het bestand dat is opgegeven als het eerste argument ( FILE ) naar het bestand dat is opgegeven als het tweede argument ( LINK ).

Als een symbolische link wordt verwijderd, zijn doelwit blijft onaangetast. Als een symbolische link naar een doel verwijst, en enige tijd later dat doel wordt verplaatst, hernoemd of verwijderd, wordt de symbolische link niet automatisch bijgewerkt of verwijderd, maar blijft bestaan ​​en verwijst nog steeds naar het oude doel, nu een niet-bestaande locatie of het dossier.

Om de symbolische koppelingen in een directory te bekijken:

  1. Open een terminal en ga naar die map.
  2. Typ het commando: ls -la. Dit zal een lange lijst maken van alle bestanden in de map, zelfs als ze verborgen zijn.
  3. De bestanden die beginnen met l zijn uw symbolische linkbestanden.
Like deze post? Deel het met je vrienden:
OS vandaag