Vodič za Symlink u Linuxu - Kako stvoriti i ukloniti simboličku vezu

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   

lnje naredba link. Oznaka -snavodi da veza treba biti meka. -smože se unijeti i kao -symbolic.

Prema zadanim postavkama lnnaredba 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 linksam (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.txtsa trans.txt. Svaka izmjena trans.txttakođer će se odraziti u izvornoj datoteci.

Imajte na umu da bi ova gornja naredba stvorila datoteku veze trans.txtu 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 unlinkne 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 ri f. Ali to nije ono što želimo. Simbolična veza može biti mapa, ali nas zanima samo ime.

Glavna prednost rmovera unlinkje 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/jamesna /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 jamesdirektoriju - od datoteka do direktorija do poddirektorijuma.

Prolaskom -deleteopcije 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.