Naučte se pracovat se symbolickými a pevnými odkazy

Windows Vista a samozřejmě i Windows 7 obsahují podporu tzv. symbolických odkazů, pevných odkazů a spojení adresářů. Ukážeme si, že mohou být velmi užitečné a čeho můžete díky nim dosáhnout.

Pokud jste dříve přišli do styku s některým z unixových operačních systémů, možná tušíte, že na úrovni souborového systému lze vytvářet tzv. symbolické odkazy (symbolic links, symlinks) a pevné odkazy (hard links). Obdobně je tomu i ve Windows. Principy fungování symbolických i pevných linků se mezi těmito dvěma světy téměř neliší. Ve světě Windows se navíc můžete setkat s pojmem spojení adresáře (junction).

Vy, kteří slyšíte tyto pojmy poprvé nezoufejte, vše si vysvětlíme a ukážeme několik příkladů, které si můžete sami vyzkoušet. Předpokladem pro práci s odkazy je Windows Vista a novější, který je prvním systémem Microsoftu s jejich podporou. V tomto ohledu tedy Windows oproti unixovému světu lehce zaspala.

Zástupce

Začněme zlehka u struktury, kterou všichni důvěrně známe již dlouhá léta – zástupce. Připomeňme si jeho charakteristické znaky a čeho lze jeho použitím dosáhnout. Zástupce je soubor s příponou .LNK odkazující na jiný soubor nebo složku na libovolné diskové či síťové jednotce. Prakticky všechny položky nabídky Start jsou právě zástupci. Stejně tak pravděpodobně i vaše pracovní plocha obsahuje několik z nich. Poznáte je podle typického symbolu šipky v levé spodním rohu vyobrazení ikony. Obsahem souboru samotného zástupce je informace o umístění souboru či složky, na kterou odkazuje. Stejně tak nese i informaci o své ikoně a velikosti okna v jakém se má odkazovaný soubor nebo složka otevřít – normální, maximalizované okno atd. Smazání zástupce nemá žádný vliv na cílovou odkazovanou strukturu (soubor či složku), přičemž na strukturu může odkazovat bez problémů i více zástupců zároveň. Odkaz i cílová struktura se mohou nacházet na libovolných diskových oddílech či dokonce na síti.

Symbolický odkaz

Symbolický odkaz je principem svého fungování podobný klasickému zástupci. Odkazuje na soubor či složku a je stejně jako zástupce je reprezentován souborem. Tentokrát s tím rozdílem, že do jeho obsahu nelze zasahovat. Měli byste také myslet na to, že diskový oddíl na němž je samotný symbolický odkaz uložen musí být typu NTFS. Pro odkazovaný cílový soubor čí složku toto omezení neplatí. Sliboval jsem příklady, takže pojďme směle na ně.

Pro vytvoření tohoto odkazu slouží příkaz mklink, který se poprvé objevil ve Windows Vista. Pro jeho spuštění budete potřebovat administrátorské oprávnění, proto spusťte příkazový řádek cmd.exe v Režimu správce.

První ukázka zachycuje vytvoření symbolického odkazu s názvem n.exe v existující složce C:\Linky, který odkazuje na spustitelný .EXE soubor Poznámkového bloku z Windows. Do příkazového řádku v Režimu správce zadejte mklink C:\Linky\n.exe C:\Windows\system32\notepad.exe. Ve výpisu příkazu dir C:\Linky\ poznáme podle označení <SYMLINK>, že n.exe je ve skutečnosti odkaz. Navíc je reprezentován souborem, takže jeho odstranění provedete prostým smazáním del C:\Linky\n.exe.

Kompletní sled výše popsaných příkazů zachycuje obrázek níže.

Doplněním přepínače tentokrát příkazem mklink /D C:\Linky\fav C:\Users\Jirka\Favorites vytvoříme symbolický odkaz na složku s oblíbenými položkami uživatele Jirka . Příkazy cd C:\Linky\fav a dir si ověřte, že se opravdu vypíší všechny oblíbené webové stránky.

Poznávacím znamením symbolického linku na složku je označení typu <SYMLINKD> ve výpisu příkazu dir C:\Linky\. Ke smazání odkazu na ukázkovou složku použijte příkaz rd C:\Linky\fav. Výpis si můžete prohlédnout níže.

Pevný odkaz

Zatímco symbolický link slouží pouze jako ukazovátko na soubor či složku, pevný odkaz (hard link) lze vytvořit pouze mezi dvěma soubory. Vazba mezi nimi je o poznání důkladnější. Vytvoříme-li pevný odkaz C:\Pevnylink.doc na existující dokument C:\Návody\Odkazy.doc, vznikne vlastně druhá cesta k témuž souboru. Přičemž obě budou odkazovat na stejný soubor, který je na pevném disku fyzicky uložen pouze jednou a zabírá tedy místo na disku pouze jednou. Ať už tedy upravíte text dokumentu C:\Návody\Odkazy.doc či v jeho pevném odkazu C:\pevnylink.doc, budou vždy viditelné z obou umístění. Tuto vazbu vytvoříte příkazem mklink /H C:\Pevnylink.doc C:\Návody\Odkazy.doc.

Zásadní rozdíl oproti symbolickým odkazům spočívá v tom, že v pevné odkazy je možné vytvářet pouze v rámci téhož diskového NTFS oddílu. Liší se i postup při odstraňování souboru a jeho pevného linku. Ve skutečnosti totiž při smazání původního dokumentu C:\Návody\Odkazy.doc zůstává obsah souboru fyzicky stále uložen na pevném disku, protože na něj stále ukazuje pevný odkaz C:\Pevnylink.doc. Dokud neprovedeme smazání pevného linku, bude obsah souboru přes pevný odkaz i nadále přístupný.

Smazání pevného odkazu proveďte příkazem del C:\Pevnylink.doc.

A jak to všechno využít v praxi? Nelíbilo by se vám například přistupovat k hosts souboru přímo přes C:\hosts? Pomůže vám příkaz ve tvaru mklink /H C:\hosts C:\windows\system32\drivers\etc\hosts.

Veškeré operace mazání souborů a odkazů můžete samozřejmě provádět i z grafického rozhraní Průzkumníka.

Spojení adresářů

Zajímavější uplatnění můžete najít pro techniku Spojení adresářů (Junction). Opět jde o dvě cesty ke složce, která je fyzicky na pevném disku uložena jednou. Jde tak trochu o obdobu symbolického linku.

Praktické použití může být následující. Na externím pevném disku v umístění K:\Data\Audio\ máte hudbu, kterou byste rádi viděli jako složku C:\Hudba. Příkazem mklink /J C:\Hudba K:\Data\Audio docílíte přesně tohoto požadavku.

Otevřením složky Hudba na disku C: se rázem transparentně dostáváte přímo na externí disk. Podobně si můžete zpřístupnit například složku pracovní plochy nebo jakoukoliv jinou.

Spojení adresářů můžete zrušit například nástrojem Junction Link Magic.