A Linuxon belül kétféle link létezik:
- Kemény linkek
- Szimbolikus linkek
A szimbolikus link nagyon hasonlít egy asztali parancsikonra a Windows rendszeren belül. A szimbolikus link csupán egy fájl helyére mutat.
A szimbolikus link törlésének nincs hatása a fizikai fájlra, amelyre a hivatkozás mutat.
A szimbolikus hivatkozás az aktuális fájlrendszeren vagy más fájlrendszeren lévő fájlokra mutathat. Ez rugalmasabbá teszi, mint egy kemény kapcsolat.
A kemény hivatkozás valójában ugyanaz a fájl, amelyhez kapcsolódik, de más néven. A legegyszerűbb módja a következő:
Képzeld el, hogy Robert elnevezéssel született. Más emberek ismerhetik meg Önt, mint Robbie, Bob, Bobby vagy Rob. Minden személy ugyanazon személyről beszélne.
Minden link 1-et ad hozzá a linkek számlálójához, ami azt jelenti, hogy törölni kell a fizikai fájlt, amellyel törölni kell mindegyik linket.
Miért használd a kemény linkeket?
A hard linkek hatékony formát nyújtanak a fájlok rendezésére. A leírás legegyszerűbb módja egy régi Sesame Street epizód.
Bert Ernie-nek elmondta, hogy rendezze el az összes dolgát, és Ernie elintézte a feladatot. Először is úgy döntött, hogy rendbe hozza az összes piros dolgot. "A tűzoltó motor vörös". Tehát Ernie elhúzza a tűzmotort.
Ernie elhatározza, hogy minden játékot eldobja kerekekkel. A tűzmotor kerekekkel rendelkezik. Tehát Ernie elhúzta a tűzmotort.
Mondanom sem kell, Bert hazajön, hogy pontosan ugyanazt a rendetlenséget találja meg, mint korábban, de Ernie fél tucatszor távolította el a tűzoltóművet.
Képzelje el, hogy a tűzoltó motor csak egy tűzmotor képét ábrázolja. A gépen különböző mappák találhatók a következők szerint:
- Képek a vörös dolgokról
- Fényképek a járművekről
- Fotók segélyhívó szolgáltatásokról
Most készíthet egy másolatot a fényképről, és helyezze el mindegyik mappába. Ez azt jelenti, hogy ugyanannak a fájlnak három példánya van, amely háromszor nagyobb helyet foglal el.
A fotók csoportosítása másolatok készítésével nem túl sok helyet foglal el, de ha ugyanazt a dolgot próbálta meg a videókkal, akkor jelentősen csökkentené a lemezterületet.
A kemény kapcsolat egyáltalán nem foglal helyet. Ezért ugyanazt a videót különböző kategóriákban tárolhatja (pl. Év, műfaj, leadás, rendezők) anélkül, hogy csökkentené a lemezterületet.
Hogyan hozzunk létre egy kemény kapcsolatot
Kemény hivatkozást hozhat létre a következő szintaxissal:
útvonal / fájl / fájl / elérési út / kemény / link
Például a fenti képen egy Alice Cooper zenék mappát hívunk Trash-nak az út / home / gary / Music / Alice Cooper / Trash útvonalon. Ebben a mappában 10 dal van, amelyek közül az egyik a klasszikus méreg.
Most a Poison egy rock pálya, így létrehoztunk egy zenekart tartalmazó Rock nevű mappát, és kemény linket teremtettünk a Poison-nak a következő fájl beírásával:
ln "01 - Poison.mp3" "~ / Zene / rock / Poison.mp3"
Ez jó módja a zenének megszervezésében .
Hogyan lehet megmondani a különbséget a kemény kapcsolat és a szimbolikus kapcsolat között
Meg tudja mondani, hogy egy fájlnak van-e kemény kapcsolat az ls parancs használatával:
ls -lt
A hivatkozások nélküli szabványos fájl a következőképpen néz ki
-rw-r - r-- 1 gary gary 1000 dec 18 21:52 poison.mp3
Az oszlopok a következők:
- -rw-r - r-- = engedélyek
- 1 = linkek száma
- gary = csoport
- gary = tulajdonos
- 1000 = fájlméret
- Dec. 18 = dátum
- 21:52 = idő
- poison.mp3 = fájlnév
Ha ez egy kemény kapcsolat, a kimenet a következőképpen néz ki:
-rw-r - r-- 2 gary gary 1000 dec 18 21:52 poison.mp3
Vegye figyelembe, hogy a hivatkozások oszlopok száma 2-et jelenít meg. Minden alkalommal, amikor létrejön egy kemény kapcsolat, a szám növekedni fog.
A szimbolikus link az alábbiak szerint fog kinézni:
-rw-r - r-- 1 gary gary 1000 dec 18 21:52 poison.mp3 -> poison.mp3
Világosan látja, hogy egy fájl egy másikra mutat.
Hogyan találhat meg minden kemény hivatkozást egy fájlhoz?
A Linux rendszerben található összes fájl tartalmaz egy inode számot, amely egyedileg azonosítja a fájlt. A fájl és annak hard linkje ugyanazt az inode-ot tartalmazza.
A fájl inode számának megtekintéséhez a következő parancsot kell megadni:
ls -i
Egyetlen fájl kimenete a következő lesz:
1234567 fájlnév
A fájlok kemény hivatkozásainak megkereséséhez csak fájlkeresést kell végezni az összes inode fájlhoz (azaz 1234567).
Ezt a következő paranccsal teheti meg:
találd meg a ~ / -xdev -inum 1234567-et