Simbolična veza (također se naziva i simbolička veza) vrsta je datoteke u Linuxu koja upućuje na drugu datoteku ili mapu na vašem računalu. Simboličke veze slične su prečacima u sustavu Windows.
Neki simboličke poveznice nazivaju "soft links" - vrsta veze u Linux / UNIX sustavima - za razliku od "hard links".
Razlika između meke i tvrde veze
Meke veze slične su prečacima i mogu ukazivati na drugu datoteku ili direktorij u bilo kojem datotečnom sustavu.
Tvrde veze također su prečaci za datoteke i mape, ali tvrda veza ne može se stvoriti za mapu ili datoteku u drugom datotečnom sustavu.
Pogledajmo korake koji su uključeni u stvaranje i uklanjanje simboličke veze. Također ćemo vidjeti što su neispravne veze i kako ih izbrisati.
Kako stvoriti Symlink
Sintaksa za stvaranje simboličke veze je:
ln -s
ln
je naredba link. Oznaka -s
navodi da veza treba biti meka. -s
može se unijeti i kao -symbolic
.
Prema zadanim postavkama ln
naredba stvara tvrde veze. Sljedeći je argument path to the file (or folder)
da želite povezati. (To jest, datoteka ili mapa za koju želite stvoriti prečac.)
I posljednji je argument path to link
sam (prečac).
Kako stvoriti Symlink za datoteku - Primjer naredbe
ln -s /home/james/transactions.txt trans.txt
Nakon pokretanja ove naredbe moći ćete pristupiti /home/james/transactions.txt
sa trans.txt
. Svaka izmjena trans.txt
također će se odraziti u izvornoj datoteci.
Imajte na umu da bi ova gornja naredba stvorila datoteku veze trans.txt
u vašem trenutnom direktoriju. Možete i stvoriti povezanu datoteku u mapi koja povezuje ovo:
ln -s /home/james/transactions.txt my-stuffs/trans.txt
U vašem trenutnom direktoriju mora postojati direktorij koji se već naziva "my-stuffs" - ako ne, naredba će izbaciti pogrešku.
Kako stvoriti Symlink za mapu - Primjer naredbe
Slično gore navedenom, koristili bismo:
ln -s /home/james james
Tako bi se stvorila mapa sa simboličkom vezom pod nazivom "james" koja bi sadržavala sadržaj /home/james
. Sve promjene ove povezane mape također će utjecati na izvornu mapu.
Kako ukloniti simboličku vezu
Prije nego što poželite ukloniti simboličku vezu, možda ćete htjeti potvrditi da je datoteka ili mapa simbolična veza, kako ne biste radili na datotekama.
Jedan od načina za to je:
ls -l
Pokretanje ove naredbe na vašem terminalu prikazat će svojstva datoteke. Kao rezultat, ako je prvi znak malo slovo L ('l'), to znači da je datoteka / mapa simbolična veza.
Na kraju biste vidjeli i strelicu (->) koja označava datoteku / mapu na koju pokazuje simlink.
Postoje dvije metode za uklanjanje simboličke veze:
Kako koristiti vezu za uklanjanje veze
Sintaksa je:
unlink
Time se briše simbolična veza ako je postupak uspješan.
Čak i ako je simbolična veza u obliku mape, nemojte dodavati '/', jer će Linux pretpostaviti da je to direktorij i da unlink
ne može brisati direktorije.
Kako koristiti rm za uklanjanje Symlinka
Kao što smo vidjeli, simbolična veza je samo još jedna datoteka ili mapa koja upućuje na izvornu datoteku ili mapu. Da biste uklonili taj odnos, možete ukloniti povezanu datoteku.
Dakle, sintaksa je:
rm
Na primjer:
rm trans.txt rm james
Imajte na umu da bi pokušaj rm james/
toga rezultirao pogreškom, jer će Linux pretpostaviti da je 'james /' direktorij, koji će zahtijevati druge opcije poput r
i f
. Ali to nije ono što želimo. Simbolična veza može biti mapa, ali nas zanima samo ime.
Glavna prednost rm
overa unlink
je u tome što možete ukloniti više simboličkih veza odjednom, kao što možete učiniti s datotekama.
Kako pronaći i izbrisati prekinute veze
Neispravne veze nastaju kada datoteka ili mapa koju simbolična veza usmjeri na promjenu puta ili se izbriše.
Na primjer, ako se "transakcija.txt" pomakne s /home/james
na /home/james/personal
, veza "trans.txt" postaje neispravna. Svaki pokušaj pristupa datoteci rezultirat će pogreškom "Nema takve datoteke ili direktorija". To je zato što veza nema vlastiti sadržaj.
Kad otkrijete neispravne veze, datoteku možete lako izbrisati. Jednostavan način pronalaska prekinutih simboličnih veza je:
find /home/james -xtype l
Ovdje će se naći sve slomljene simboličke veze u james
direktoriju - od datoteka do direktorija do poddirektorijuma.
Prolaskom -delete
opcije izbrisat ćete ih tako:
find /home/james -xtype l -delete
Završavati
Simboličke veze zanimljiva su značajka Linuxa i UNIX sustava.
Možete stvoriti lako dostupne simboličke veze koje će se odnositi na datoteku ili mapu kojima inače ne bi bilo prikladno pristupiti. Uz malo prakse shvatit ćete kako to funkcionira na intuitivnoj razini i učinit će vas mnogo učinkovitijima u upravljanju datotečnim sustavima.