pehmeä (symbolinen) linkki vs kova linkki

symboliset linkit (joita kutsutaan myös pehmeiksi linkeiksi) ja kovat linkit ovat resurssi, jolla voi käyttää tiedostoja tai hakemistoja mistä tahansa paikasta. Tässä artikkelissa kuvataan symbolisten linkkien ja kovien linkkien eroja.

kovat linkit

kovat linkit eivät ole tiedosto, joka sisältää polun alkuperäiseen tiedostoon, vaan peilaavat kopioita alkuperäisestä tiedostosta, johon ne viittaavat. Tiedostoa ja sen kovia linkkejä ei yhdistä nimi tai polku vaan inode, joka tallentaa tiedoston tiedot, kuten sen sijainti, luomispäivä, käyttöoikeudet ja muut attribuutit. Jokainen inodiluku on yksilöllinen tiedostojärjestelmässä, joka estää kovia linkkejä toimimasta eri osioiden tai järjestelmien välillä. Kovia linkkejä ei voi käyttää hakemistojen linkittämiseen.

toisin kuin pehmeät linkit, kovat linkit sisältävät ne tiedot, joihin ne linkittävät, joten jos alkuperäinen tiedosto poistetaan, voit silti käyttää sen tietoja.

kaikissa Linux-järjestelmissä sekä kovat että symboliset linkit luodaan komennolla ”ln”. Aloita luomalla ensin Tiedosto LinuxHintFile ja Hakemisto LinuxHintDirectory kuten alla olevasta kuvasta näkyy:

touch LinuxHintFile
rmkdir LinuxHintDirectory
ls
root@LinuxHint:/home/linuxhint#

luoda päätteessä ajettavaan tiedostoon link2lh-tiedosto:

ln LinuxHintFile Link2LHFile

tarkistettuamme LS: llä näemme juuri luomamme kovan linkin, jos kirjoitat LS-i näet tiedostojen inodit, voit vahvistaa, että juuri luomallamme Linkillä on sama inodiluku kuin alkuperäinen tiedosto, type:

LS-I

kuten edellä todettiin, emme voi käyttää kovia linkkejä hakemistoihin emmekä linkkejä muihin taltioihin tai tiedostojärjestelmiin, linkitämme linuxhintdirectoryn pehmeään linkkiin.

työluettelosta löytyy kovia linkkejä juoksemalla:

find-type f-links +1

myös inodes-tiedostot löytyvät tätä juoksua varten:

etsi . -inum <InodeNumber>

kuten näette, se löysi sekä alkuperäisen tiedoston että kovan linkin jakavan saman inodiluvun.

pehmeät linkit

toisin kuin kovat linkit, pehmeät linkit eivät ole kopioita alkuperäisestä tiedostosta, ne sisältävät polun alkuperäiseen tiedostoon, koska tästä johtuen jos alkuperäinen tiedosto poistetaan, pehmeä linkki tai symbolinen linkki ei osoita tiedoston muuttuvan rikkinäiseksi linkiksi tai orvoksi linkiksi, mikä tarkoittaa, että jos menetät lähdetiedoston, jos poistat tai siirrät sen, symbolinen linkki menettää pääsyn tietoihin, kun taas kovalla linkillä tiedot säilyvät lähdetiedoston poistosta huolimatta, koska se on täydellinen ja tarkka kopio kyseisestä tiedostosta.

myös toisin kuin kovilla linkeillä symboliset linkit eivät jaa samaa inodia alkuperäisen tiedoston kanssa, siksi symbolinen linkki voi risteytyä volyymien ja tiedostojärjestelmien kanssa, kun taas kovat linkit eivät. symbolisia linkkejä voidaan käyttää hakemistojen linkittämiseen, kun taas kovilla linkeillä se ei ole mahdollista.

symbolisia linkkejä luodaan myös ohjelmalla ln, mutta jotta linkki olisi symbolinen / pehmeä, on määritettävä parametri-s, jotta voidaan luoda symbolinen linkki hakemistoon LinuxHintDirectory nimeltään LHDLink run:

ln-s LinuxHintDirectory LHDLink

ja suorita sitten”ls-i”tarkistaaksesi, että se on oikein luotu:

kuten tässä tapauksessa näemme symbolisen linkin syntyneen, mutta sillä on eri inodiluku kuin alkuperäinen tiedosto.

voimme luetella symbolisia linkkejä hakemiston sisällä komennolla ”ls-l”

yllä olevassa kuvassa näkyy ensimmäisen tiedoston käyttöoikeuksissa etuliite ”l” symbolisille linkeille, rivin lopussa näkyy myös mihin tiedostoon symboliset linkkipisteet.

toivon, että tämä artikkeli on mielestäsi hyödyllinen kovien linkkien ja symbolisten linkkien välisten erojen ymmärtämisessä ja niiden luomisessa. Seuraa Linuxhintiä saadaksesi lisää vinkkejä ja päivityksiä Linuxiin.

Vastaa

Sähköpostiosoitettasi ei julkaista.