Vadnica za Symlink v Linuxu - Kako ustvariti in odstraniti simbolno povezavo

Simbolična povezava (imenovana tudi simbolna povezava) je vrsta datoteke v Linuxu, ki kaže na drugo datoteko ali mapo v računalniku. Simbolične povezave so podobne bližnjicam v sistemu Windows.

Nekateri simbolične povezave imenujejo "mehke povezave" - ​​vrsta povezav v sistemih Linux / UNIX - v nasprotju s "trde povezave".

Razlika med mehko in trdo povezavo

Mehke povezave so podobne bližnjicam in lahko kažejo na drugo datoteko ali imenik v katerem koli datotečnem sistemu.

Trde povezave so tudi bližnjice do datotek in map, vendar trde povezave ni mogoče ustvariti za mapo ali datoteko v drugem datotečnem sistemu.

Oglejmo si korake pri ustvarjanju in odstranjevanju simbolične povezave. Bomo videli tudi, kaj so nepravilne povezave in kako jih izbrisati.

Kako ustvariti povezavo

Sintaksa za ustvarjanje simbolne povezave je:

ln -s   

lnje ukaz link. Oznaka -sdoloča, da mora biti povezava mehka. -slahko vnesete tudi kot -symbolic.

lnUkaz privzeto ustvari trde povezave. Naslednji argument je, path to the file (or folder)da se želite povezati. (To je datoteka ali mapa, za katero želite ustvariti bližnjico.)

In zadnji argument je path to linksam (bližnjica).

Kako ustvariti povezavo za datoteko - primer ukaza

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

Po zagonu ta ukaz, boste lahko za dostop do /home/james/transactions.txts trans.txt. Vsaka sprememba trans.txtbo prikazana tudi v izvirni datoteki.

Upoštevajte, da bi ta zgornji ukaz ustvaril datoteko s povezavo trans.txtv vašem trenutnem imeniku. Povezano datoteko lahko ustvarite tudi v mapi, ki povezuje to:

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

V vašem trenutnem imeniku mora biti že imenik, imenovan "my-stuffs" - če ne, bo ukaz vrgel napako.

Kako ustvariti povezavo za mapo - primer ukaza

Podobno kot zgoraj bi uporabili:

ln -s /home/james james 

Tako bi ustvarili mapo s povezavo z imenom "james", ki bi vsebovala vsebino /home/james. Vse spremembe te povezane mape bodo vplivale tudi na prvotno mapo.

Kako odstraniti simbolno povezavo

Preden želite odstraniti simbolno povezavo, boste morda želeli potrditi, da je datoteka ali mapa simbolna povezava, tako da datotek ne boste posegali.

Eden od načinov za to je:

ls -l  

Če zaženete ta ukaz na terminalu, se prikažejo lastnosti datoteke. Če je prvi znak majhna črka L ('l'), pomeni, da je datoteka / mapa simbolna povezava.

Na koncu boste videli tudi puščico (->), ki označuje datoteko / mapo, na katero kaže povezava simlink.

Simbolno povezavo lahko odstranite na dva načina:

Kako odstraniti povezavo s povezavo

Sintaksa je:

unlink  

Če je postopek uspešen, se izbriše simbolična povezava.

Tudi če je simbolna povezava v obliki mape, ne dodajajte '/', ker bo Linux domneval, da gre za imenik in unlinkne more izbrisati imenikov.

Kako uporabiti rm za odstranitev povezave Symlink

Kot smo videli, je simbolna povezava samo še ena datoteka ali mapa, ki kaže na izvirno datoteko ali mapo. Če želite odstraniti to razmerje, lahko odstranite povezano datoteko.

Sintaksa je torej:

rm  

Na primer:

rm trans.txt rm james 

Upoštevajte, da bi poskusil narediti rm james/napako, ker bo Linux domneval, da je "james /" imenik, ki bi zahteval druge možnosti, kot rsta f. Toda tega ne želimo. Simbolična povezava je lahko mapa, vendar se ukvarjamo samo z imenom.

Glavna prednost rmoverja unlinkje, da lahko hkrati odstranite več simbolnih povezav, tako kot z datotekami.

Kako najti in izbrisati prekinjene povezave

Zlomljene povezave se pojavijo, ko datoteka ali mapa, na katero simbolična povezava kaže na spremembo poti ali je izbrisana.

Na primer, če se »transakcija.txt« premakne iz /home/jamesna /home/james/personal, postane povezava »trans.txt« prekinjena. Vsak poskus dostopa do datoteke bo povzročil napako "Ni take datoteke ali imenika". To je zato, ker povezava nima lastne vsebine.

Ko odkrijete prekinjene povezave, lahko datoteko enostavno izbrišete. Preprost način iskanja prekinjenih simbolnih povezav je:

find /home/james -xtype l 

V njem bodo prikazane vse prekinjene simbolne povezave v jamesimeniku - od datotek do imenikov do podimenikov.

Če prenesete -deletemožnost, jih boste izbrisali tako:

find /home/james -xtype l -delete 

Zavijanje

Simbolne povezave so zanimiva lastnost sistemov Linux in UNIX.

Ustvarite lahko lahko dostopne simbolne povezave, ki se nanašajo na datoteko ali mapo, do katere sicer ne bi bilo primerno dostopati. Z nekaj vaje boste razumeli, kako ti delujejo na intuitivni ravni, zaradi česar boste veliko bolj učinkoviti pri upravljanju datotečnih sistemov.