2017. január 26., csütörtök

Szimbolikus linkek (symlinkek) létrehozása Windowson és Linuxon


A Windows 10, 8, 7 és Vista mind támogatják a szimbolikus linkeket - symlinkekként is ismert - ami egy fájlra vagy mappára mutat a rendszereden. Létrehozhatod őket a parancssorral vagy egy harmadik féltől származó Link Shell Extension nevű eszközzel.

Mik a szimbolikus linkek?

A szimbolikus linkek alapvetően fejlettebb parancsikonok. Hozz létre egy szimbolikus linket egy egyedi fájlra vagy mappára és az a link ugyanúgy jelenik meg a Windowsnak, mint a fájl vagy mappa - még akkor is, ha ez csak egy fájlra vagy egy mappára mutató link.

Például mondjuk, hogy van egy programod, aminek szüksége van a fájljaira a C:\Program könyvtárban. Szeretnéd tárolni ezt a könyvtárat a D:\Stuff-ban, de a programnak a C:\Program helyen van szüksége a fájljaira. Át tudnád helyezni az eredeti könyvtárat a C:\Program-ról a D:\Stuff-ba és utána létrehozni egy D:\Stuff-ra mutató szimbolikus linket a C:\Program-ban. Amikor újraindítod a programot, megpróbál hozzáférni a könyvtárához a C:\Program-nál. A Windows automatikusan átirányítja a D:\Stuff-ra és minden ugyanúgy működik, mintha a C:\Program-ban lenne.

Ez a trükk használható mindenféle dologra, beleértve bármilyen mappa szinkronizálását a programokkal, mint például Dropbox, Google Drive és OneDrive.

Kétféle szimbolikus link van: Hard és soft. A soft szimbolikus linkek egy szokásos parancsikonhoz hasonlóan működnek. Amikor nyitsz egy soft linket egy mappára, át leszel irányítva a mappára, ahol a fájlok tárolva vannak. Azonban a hard linkek úgy jelennek meg, mintha a fájl vagy mappa valóban a szimbolikus link helyén léteznének és az alkalmazásaid is ugyanígy látják. Ez a hard szimbolikus linkeket használhatóbbá teszi az esetek többségében.

Figyeld meg, hogy a Windows igazából nem használja a "hard link" és "soft link" kifejezéseket. Helyette a "hard link" és "szimbolikus link" kifejezést használja. A Windows dokumentációban egy "szimbolikus link" ugyanaz, mint a "soft link". Mindazonáltam az mklink parancs létrehoz hard linkeket (a Windowsban "hard linkek"-ként ismert) és soft linkeket (a Windowsban "szimbolikus linkek"-ként ismert) is egyaránt.

Hogyan hozz létre szimbolikus linkeket az mklink segítségével

Rendszergazdaként létrehozhatsz szimbolikus linkeket egy parancssori ablakban. Hogy megnyiss egyet, keresd meg a "parancssor" ikonját a start menüben. kattints rá jobb egérgombbal és válaszd a "Futtatás rendszergazdaként" lehetőséget.

A Windows 10 alkotói frissítésével használhatsz egy sima parancssori ablakot, rendszergazdai futtatás nélkül. Mindazonáltal, hogy ezt megtedd, engedélyezned kell a fejlesztői módot a Beállítások > Frissítés és biztonság > Fejlesztőknek.


Mindenféle külön beállítás nélkül az mklink létrehoz egy fájlra mutató szimbolikus linket. A lentebbi parancs létrehoz egy szimbolikus vagy "soft" linket, egy Link-et, ami egy Target fájlra mutat:

mklink Link Target

Használj /D-t, ha egy könyvtárral mutató soft linket szeretnél létrehozni, így:

mklink /D Link Target

Használj /H-t, ha egy fájlra mutató hard linket szeretnél létrehozni:

mklink /H Link Target

Használj /J-t, ha egy könyvtárra mutató hard linket szeretnél létrehozni, ami "directory junction"-ként is ismert:

mklink /J Link Target



Így például ha szeretnél a C:\LinkToFolder-nél egy C:\Users\Name\OriginalFolder-re mutató hard linket létrehozni, az alábbi parancsot futtatnád:

mklink /J C:\LinkToFolder C:\Users\Name\OriginalFolder

A szóközt tartalmazó elérhetési útvonalak közé idézőjeleket kell tenned. Például ha a mappák neve a fenti helyett C:\Link To Folder és C:\Users\Name\Original Folder lenne, az alábbi parancsot használnád a fenti helyett:

mklink /J "C:\Link To Folder" "C:\Users\Name\Original Folder"


Ha a "You do not have sufficient privilege to perform this operation" üzenetet látod, akkor rendszergazdaként kell indítani a parancssort a parancs futtatása előtt.

Hogyan hozz létre szimbolikus linkeket egy grafikus eszközzel?

Ha szeretnéd ezt grafikus eszközzel megtenni, töltsd le a Link Shell Extension-t. Legyél biztos benne, hogy letöltöd a megfelelő előzetesen szükséges csomagot az eszköz előtt — mindre van hivatkozás az eszköz letöltési oldalán.

Ha egyszer feltelepítődött, határozd meg a fájlt vagy mappát, amire mutató linket szeretnél létrehozni, kattints rá jobb egérgombbal és válaszd a "Pick Link Source"-ot a menüben.


Utána jobb egérgombbal kattinthatsz egy másik könyvtáron belül, a "Drop As"-ra mutatva a "Hardlink" lehetőséget kiválasztva létrehozhatsz egy hard linket egy fájlhoz, a "Junction"-t választva létrehozhatsz egy hard linket egy könyvtárhoz vagy a "Symbolic Link"-et választva létrehozhatsz egy soft linket egy fájlhoz vagy könyvtárhoz.



Hogyan törölj szimbolikus linkeket?

Hogy megszabadulj egy szimbolikus linktől, csak simán kitörölheted, mint ahogy egyébként is tennél bármilyen fájllal vagy könyvtárral. Csak legyél óvatos, hogy magát a linket töröld, a fájl vagy könyvtár helyett, amire mutat.


A Linuxon történő szimbolikus linkek létrehozásához lásd a Wikipédia Szimbolikus link című szócikkét vagy a SzabadLinuxot blog Mi az a symlink, hard link? című bejegyzését.

Felhasznált források:
The Complete Guide to Creating Symbolic Links (aka Symlinks) on Windows
Szimbolikus link – Wikipédia
Mi az a symlink, hard link?

Nincsenek megjegyzések:

Megjegyzés küldése