Odkazy

Odkazy (links) jsou ukazovátka mezi soubory. Pomocí odkazů můžete mít soubory na mnoha místech a mít je přístupné pod mnoha názvy. Existují dva typy odkazů: Pevné a symbolické.

Pevné odkazy jsou názvy pro konkrétní soubor. Ty mohou existovat pouze uvnitř jediného adresáře a jsou vyjmuty jedině tehdy, když je ze systému vyjmuto reálné jméno. Jsou v určitých případech užitečné, ale mnoho uživatelů shledává symbolické linky mnohostrannějšími.

Symoblický odkaz, též nazývaný "měkký", může ukazovat na soubor vně svého adresáře. Je to vlastně malý souborek, obsahující informaci, kterou potřebuje. Symbolické odkazy můžete přidávat i mazat bez zasažení vlastního souboru

Odkazy nemají svou vlastní sadu práv či vlastnictví, ale místo toho je přebírají od souboru, na který ukazují. Slackware používá hlavně symbolické odkazy. Zde je obecný příklad:


  $ ls -l /bin/sh
  lrwxrwxrwx   1 root     root     4 Apr  6 12:34 /bin/sh -> bash

Shell sh ve Slackwaru je vlastně bash. Odstraňování odkazů se dělá příkazem rm. K vytváření odkazů se používá příkaz ln. O těchto příkazech bude pojednáno podrobněji v 10. kapitole.


Pozn.překl: Tato kapitola mi připadá neuvěřitelně zmatená! Pro srovnání jsem tu nechal i původní anglický text. Jestli jsem ho jenom nepochopil, dejte mi vědět. grumpa@qwert.cz.:o)
Raději koukněte na manuálové nebo info stránky ve vašem systému (man ln, info ln).

Hard links are names for a particular file. They can only exist within a single directory and are only removed when the real name is removed from the system. These are useful in some cases, but many users find the soft link to be more versatile.

The soft link, also called a symbolic link, can point to a file outside of its directory. It is actually a small file containing the information it needs. You can add and remove soft links without affecting the actual file.

Links do not have their own set of permissions or ownerships, but instead reflect those of the file they point to. Slackware uses mostly soft links. Here is a common example:

The sh shell under Slackware is actually bash. Removing links is done using rm. The ln command is used to create links. These commands will be discussed in more depth in Chapter 10.


Linky - můj názor :o)

Jako překladatel jsem nechěl měnit původní text, takže až zde napíšu, jak toto téma - mimochodem velmi snadné - vímám já.

Každý soubor v Linuxu je ve skutečnosti označen číslem, kterému se říká nod. Aby to bylo srozumitelné i pro lidi, soubory mají i jména. Každý soubor má minimálně jedno jméno. Těm se říká "pevné" linky - odkazy. Na jeden soubor je tedy možné se odkazovat z různých adresářů pod různými jmény. Změní-li se práva k souboru u jednoho z názvů, projeví se ta změna i u všech ostatních. Smaže-li se pevný odkaz na soubor, nic se neděje s těmi ostatními odkazy. Je-li smazán i poslední pevný odkaz (tedy název) na soubor, pak je soubor z disku odstraněn. Příkazem ls s parametrem -l můžete zjistit, kolik linků na daný soubor ukazuje (druhý sloupeček ve výpisu).

Sybolické odkazy (soft links) jsou speciální souborky, které ukazují na nějaký pevný link, nebo adresář. Používají se hlavně jako "zkratky" k cestě z například z vašeho domovského adresáře do adresáře s dokumentací, ap. Symbolický odkaz má stejné vlastnosti a pracuje se s ním stejně jako s cílem na který odkazuje. Smaže-li se soubor, na nějž sybolický link ukazoval, pak symbolický link nezmizí, jen ztratí smysl života a propadne depresi. Smažte ho. Ať netrpí.

Pevný odkaz nemůže ukazovat na adresář, symbolický ano. Zamyslíte-li se nad tím, zjistíte, že to je logické a jinak to ani nejde.:o)

Odkazy se vytvářejí příkazem ln:

  $> ln soubor [jmeno_odkazu]

Příkaz vytvoří odkaz na soubor. Není-li uveden druhý parametr, pak je odkaz vytvořen v aktuálním adresáři a dostane stejné jméno, jako originální soubor. Uvedeným způsobem vytvoříte odkaz pevný. Pro vytvoření symbolického odkazu přidejte za příkaz ln parametr -s.

  $> ln -s soubor [jmeno_odkazu]

V tomto případě můžete na místě "soubor" zadat i jméno adresáře.