Symlink bemutató Linux alatt - Szimbolikus hivatkozás létrehozása és eltávolítása

A symlink (más néven szimbolikus link) egy olyan típusú fájl a Linuxban, amely egy másik fájlra vagy mappára mutat a számítógépén. A hivatkozások hasonlóak a Windows parancsikonjaihoz.

Vannak, akik a linkeket "soft linkeknek" nevezik - a Linux / UNIX rendszerek egyfajta linkjének -, szemben a "hard linkekkel".

Különbség a soft link és a hard link között

A soft linkek hasonlóak a parancsikonokhoz, és bármely fájlrendszer másik fájljára vagy könyvtárára mutathatnak.

A merevhivatkozások a fájlok és mappák parancsikonjai is, de nem hozhatók létre más linkek más fájlrendszerben lévő mappához vagy fájlhoz.

Nézzük meg a symlink létrehozásának és eltávolításának lépéseit. Megnézzük azt is, hogy melyek a meghibásodott linkek, és hogyan lehet őket törölni.

Symlink létrehozása

A symlink létrehozásának szintaxisa:

ln -s   

lna link parancs. A -sjelző megadja, hogy a linknek puhának kell lennie. -snéven is beírható -symbolic.

Alapértelmezés szerint a lnparancs kemény linkeket hoz létre. A következő érv az path to the file (or folder), hogy össze akar kapcsolni. (Vagyis az a fájl vagy mappa, amelyhez parancsikont kíván létrehozni.)

Az utolsó érv pedig path to linkmaga (a parancsikon).

Symlink létrehozása fájlhoz - Példa parancs

ln -s /home/james/transactions.txt trans.txt 

Parancs futtatása után, akkor képes lesz elérni a /home/james/transactions.txtaz trans.txt. A módosítások trans.txtaz eredeti fájlban is megjelennek.

Vegye figyelembe, hogy ez a fenti parancs létrehozza a linkfájlt trans.txtaz aktuális könyvtárban. Létrehozhat egy összekapcsolt fájlt egy mappalinkben is:

ln -s /home/james/transactions.txt my-stuffs/trans.txt 

Az aktuális könyvtárban kell lennie egy könyvtárnak, amelyet már "my-stuffs" -nak hívnak - ha nem, akkor a parancs hibát vet.

Symlink létrehozása egy mappához - Példa parancs

A fentihez hasonlóan a következőket használjuk:

ln -s /home/james james 

Ez létrehozna egy "james" nevű, szinkronizált mappát, amely tartalmazza a /home/james. A csatolt mappa bármilyen módosítása az eredeti mappát is érinti.

A Symlink eltávolítása

Mielőtt eltávolítaná a szimbólumlinket, érdemes meggyőződnie arról, hogy egy fájl vagy mappa szimbolikus link, hogy ne manipulálja a fájlokat.

Ennek egyik módja:

ls -l  

A parancs futtatása a terminálon megjeleníti a fájl tulajdonságait. Ennek eredményeként, ha az első karakter egy kis L betű ('l'), az azt jelenti, hogy a fájl / mappa szimbólum.

A végén egy nyíl (->) is látható, amely jelzi a fájlt / mappát, amelyre a szimlink hivatkozik.

A symlink eltávolításának két módja van:

A Leválasztás használata a Symlink eltávolításához

A szintaxis a következő:

unlink  

Ez törli a symlinket, ha a folyamat sikeres.

Még akkor is, ha a symlink mappa formájában van, ne fűzze hozzá a '/' szót, mert a Linux feltételezi, hogy ez egy könyvtár, és unlinknem tudja törölni a könyvtárakat.

Az rm használata a Symlink eltávolításához

Mint láttuk, a symlink csak egy másik fájl vagy mappa, amely egy eredeti fájlra vagy mappára mutat. A kapcsolat eltávolításához eltávolíthatja a csatolt fájlt.

Ezért a szintaxis a következő:

rm  

Például:

rm trans.txt rm james 

Ne feledje, hogy a próbálkozás rm james/hibát eredményez, mert a Linux feltételezi, hogy a „james /” egy könyvtár, amelyhez más opciókra lenne szükség, például a rés f. De nem ezt akarjuk. A symlink lehet mappa, de csak a névvel foglalkozunk.

A rmover előnye, unlinkhogy egyszerre több szimpla linket is eltávolíthat, akárcsak a fájlokkal.

Hogyan lehet megtalálni és törölni a megszakadt hivatkozásokat

Megszakadt hivatkozások akkor fordulnak elő, ha a fájl vagy mappa, amelyre a szimbólum link mutat, megváltoztatja az elérési utat vagy törlődik.

Például, ha „transactions.txt” mozog /home/james, hogy /home/james/personala „trans.txt” láncszem törve. A fájlhoz való minden hozzáférési kísérlet "Nincs ilyen fájl vagy könyvtár" hibát eredményez. Ennek oka, hogy a linknek nincs saját tartalma.

Ha hibás linkeket fedez fel, könnyedén törölheti a fájlt. A megszakadt szimpla linkek megkeresésének egyszerű módja:

find /home/james -xtype l 

Ez felsorolja a jameskönyvtár összes megszakadt hivatkozását - a fájloktól a könyvtárakig és az alkönyvtárakig.

Az -deleteopció átadása törli őket, így:

find /home/james -xtype l -delete 

Csomagolás

A szimbolikus kapcsolat a Linux és a UNIX rendszerek érdekes tulajdonsága.

Létrehozhat könnyen hozzáférhető szimpla linkeket egy fájlra vagy mappára való hivatkozás céljából, amelyhez egyébként nem lenne kényelmes hozzáférni. Némi gyakorlattal meg fogja érteni, hogy ezek hogyan működnek intuitív szinten, és sokkal hatékonyabbá teszik a fájlrendszerek kezelését.