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
ln
je ukaz link. Oznaka -s
določa, da mora biti povezava mehka. -s
lahko vnesete tudi kot -symbolic
.
ln
Ukaz 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 link
sam (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.txt
s trans.txt
. Vsaka sprememba trans.txt
bo prikazana tudi v izvirni datoteki.
Upoštevajte, da bi ta zgornji ukaz ustvaril datoteko s povezavo trans.txt
v 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 unlink
ne 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 r
sta f
. Toda tega ne želimo. Simbolična povezava je lahko mapa, vendar se ukvarjamo samo z imenom.
Glavna prednost rm
overja unlink
je, 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/james
na /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 james
imeniku - od datotek do imenikov do podimenikov.
Če prenesete -delete
mož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.