Vista, Windows 7, 8, 10… keistos nuorodos (hard link, junction, symbolic link)

Windows Vista sistemoje pasirodė kitokios nuorodos nei įprastos XP ir ankstesnėms Windows versijoms, taip vadinamos Hard link, Junction ir Symbolic link (sinonimai: soft link, symlink). Iš tikrujų šios nurodos naudojamos POSIX tipo operacinėse sistemose (Linux, OS X), ir Windows nuo 2000 versijos su NTFS 3.0 failų sistema ir vėlesnėse versijose.

Jei Vista operacinėje sistemoje užeisite į C:\Users\<vartotojo vardas> katalogą, rasite ne vieną NTFS junction point tipo nuorodos. Šias nuorodas galima pamatyti Vista komandų eilutėje CMD surinkus:

C:\Users\<username>\> dir /aL /s
ties nuorodomis bus užrašyta Junction. Ši naujovė išliko ir tolimesnėse Windows versijose Windows 7, 8, 10…


Arba galima pasidaryti tekstinį nuorodų atsarginį failą:

C:\Users\<username>\> dir /aL /s >C:\nuorodu_sarasas.txt 

Junction tipo nuoroda – tai NTFS failų sistemos ypatumas, kuris suteikia galimybę sukurti nuorodą į katalogą. Į vietiniame tinkle esančius kelius (UNC) ir į failus Junction nuorodų kurti negalima. Junction atsirado jau su NTFS 3.0 versija, kartu su Windows 2000 operacine sistema, tačiau nebuvo plačiai paplitusios. Kam įdomu, Junction galima sukurti Windows 2000 ir Windows XP sistemose su programa linkd.exe iš pagalbinių programų paketo Windows Resource Kit arba pasinaudoti Mark Russinovich programėle Junction.exe.  Windows Vista operacinėje sistemoje tam skirta komanda 
mklink su raktu /J.

DĖMESIO. Praktinė patirtis su Junction Windows XP Professional:

  • Junction nuoroda Windows Explorer atrodo kaip įprastas katalogas. Net ir su WinXP Service Pack 3 atnaujinimu Junction Properties  patvirtina, kad objektas yra File folder  tipo. 
  • CMD komandų eilutės Junction galima pamatyti kamanda DIR /A arba DIR /aL.
  • Naikinant Junction nuorodas per Windows Explorer panaudojus SHIFT+DEL klavišų kombinaciją, bus ištrintas visas katalogo turinys negrįžtamai.
  • Jei ištrinsit Junction į šiuškliadėžę, katalogas liks savo vietoje, bet jei ištrinsit Junction iš šiukšliadėžės, katalogas bus taip pat ištrintas negrįžtamai.
  • DEL Junction vardas ištrins visą katalogo turinį, RMDIR Junction vardas - ištrins tik pačią nuorodą.
  • saugu ištrinti junction nuorodą programėle linkd.exe su /d raktu arba Mark Russinovich programėle Junction.exe su raktu -d
  • Perkėliant Junction nuorodą pačiame loginiame diske (volume), nusikelia tik pati Junction. Tačiau keliant į kitą loginį diską, Junction pasiverčia nauju katalogu, į kurį persikelia visi pirminio katalogo duomenys, o pats pirminis katalogas lieka tuščias.

Vista pataisymai:

  • Windows Explorer atvaizduoja Junction su rodyklės maža piktograma (panaši į  įpaprastą .LNK tipo nuorodą) 
  • per Windws Explorer naikinant Junction nuorodą su SHIFT+DEL, katalogas lieka savo vietoje.

Plačiau apie Junction iš Microsoft.


“Hard link”  saugoma katalogų struktūroje, yra failų sistemos struktūrinis vienetas, ir nurodo operacinei sistemai į tam tikrą failą loginiame diske. Gali būti kelios hard link nurodančios į tą patį failą. Naudojama Linux, OS X, Windows 2000 ir vėlesnėse Windows versijose. Windows 2000 ir Windows XP Hard link galima sukurti tarnybine programa fsutil su raktu hardlink create, Windows Vista – pasinaudoję komanda mklink su raktu /H.

Plačiau apie Hard link iš Wikipedia


“Symbolic link” (sinonimai: soft link, symlink) yra failas, kuris nurodo į kitą failą, katalogą, į absoliutųjį ar reliatyvųjį kelią (absolute, relative path)Symbolic link nuorodas atpažįsta failų sistema, todėl programos nepriklausomai nuo to ar jos supranta symbolic link ar ne, nukreipiamos į nurodytą failą ar katalogą. Tai pagrindinis skirtumas tarp Symbolic link ir Windows Shortcut  - kurios failų sistemai yra paprasti failai (su plėtiniu .LNK, .PIF), todėl programos turi skirti Shortcut nuorodas vidinėmis priemonėmis. Skirtingai nuo Hard link, Symbolic link gali nurodyt į failą ar katalogą nepriklausomai nuo jo buvimo vietos, tiek tame pačiame loginiame diske, kur yra pati nuoroda, tiek kitame, tiek nuordant reliatyvųjį kelią. Windows Vista symbolic link galima sukurti iš komandinės eilutės surinkus mklink be rakto failui irsu raktu /D katalogui, Unix šeimos operacinėse sistemose komanda
ls -s kelias nuorodos_pavadinimas.

Plačiau apie Symbolic link iš Wikipedia


 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>