Linux E X P R E S

Facebook

Linuxákův průvodce po adresářích

Jste zmateni „chaotickou“ strukturou adresářů ve svém Linuxu? Nemůžete na disku nic najít? Hledáte po vzoru jiných operačních systémů disk C:, D:, avšak marně? Jste na správné adrese. My u nás totiž začínáme vždy na stejném místě – u kořene.


V článku je používán striktně původní výraz „adresář“ (angl. directory), mladší uživatelé však budou spíše zvyklí na novější termín „složka“ (angl. folder), který pochází z grafických prostředí Windows a Macintosh, kde se ikonkami složek začaly označovat adresáře, usnadňující tak běžným uživatelům pochopení problematiky adresářové struktury.

Adresářová struktura Linuxu má svou, poměrně pevně danou logiku, nicméně mezi jednotlivými distribucemi se do určité míry liší, zejména v novějších a méně podstatných oblastech. Mimo jiné i tuto situaci se snaží řešit projekt Linux Standard Base (LSB), jehož cílem je rozvíjet a propagovat standardy pro zvýšení kompatibility jednotlivých linuxových distribucí. Nyní již existuje ve verzi 3.1 a softwarové produkty mohou získat certifikát splnění LSB.

Kde všechno začíná

Celá adresářová struktura v Linuxu začíná tzv. kořenovým adresářem, který se označuje symbolem /. Často se také používá anglický výraz root (stejně se označuje i superuživatel-administrátor). Jeho obsah můžete vidět na obrázku. Nacházejí se zde hlavní systémové adresáře. S některými z nich se blíže seznámíme později.

Obrázek: 1.jpg

Dialog otevření souboru v prostředí KDE

Pro lepší představu si můžeme adresářovou strukturu znázornit pomocí schématu. Jak jinak vše vychází z kořene. Oblasti 1-4 vymezují diskové oddíly (partitions). Kořen se svými podadresáři má vyhrazen samostatný diskový oddíl. Další diskový oddíl bývá obvykle vyhrazen pro adresář /home (do něj se ukládají data uživatelů, viz dále), často se vyhrazují diskové oddíly pro adresáře /usr, /var, /boot, popř. další.

Obrázek: 2.jpg

Schematické znázornění adresářové struktury

Připojování disků a oddílů

Formulace „diskový oddíl je vyhrazen pro adresář“ není přesná. Vlastně je tomu právě naopak. Diskové oddíly jsou připojovány jako určité adresáře – pevné disky obvykle při startu systému a výměnná média za běhu. Předpis, kde se jaký oddíl má připojit, je uložen v souboru fstab v adresáři /etc/; např. zápis /dev/hda6 / ext3 znamená, že 6.oddíl primárního IDE disku (hda6) se připojí jako kořen (/) na souborovém systému ext3. A v případě /dev/hda8 /home xfs bude 8. oddíl téhož disku připojen do adresáře /home se souborovým systémem XFS.

Diskové oddíly, na nichž jsou nainstalovány nelinuxové operační systémy, jsou obvykle připojovány do adresáře /mnt jako adresáře označené příslušným názvem (např. windows, win_c, win_d apod.). Do stejného adresáře jsou připojovány i výměnná média – CD a DVD-ROM mechaniky, vypalovačky, disketové jednotky (adresáře se pak mohou jmenovat cdrom, dvd, floppy atp.). Do jakého konkrétního adresáře se dané výměnné médium či oddíl jiného OS připojí, je rovněž uloženo v souboru fstab.

Adresář /home je vyhrazen pro domovské adresáře uživatelů a bývá vhodné vyhradit mu samostatný oddíl na disku již při instalaci. Důvod je praktický – jakmile je potřeba upgradovat či přeinstalovat systém (má svůj diskový oddíl), data uživatelů zůstanou nedotčena. V /home jsou podadresáře shodné s přihlašovacími jmény uživatelů. Jeden uživatel obvykle nemá právo zápisu do adresářů jiných uživatelů (lze zakázat i čtení aj.).

I cesta může být cíl

Každý soubor a adresář (jde vlastně o speciální soubor) má v adresářové struktuře svou unikátní absolutní cestu, pomocí které jsou jednoznačně identifikovány (není to až tak pravda, ale pro naše účely to stačí). Absolutní cesta vždy začíná kořenem a končí názvem konkrétního souboru či adresáře. Tak kupříkladu /home/hanus/Dokumenty/clanek.txt jednoznačně určuje soubor clanek.txt v adresáři Dokumenty uživatele hanus.

Oproti absolutní cestě známe ještě relativní cestu. To je poloha souboru adresáře či souboru oproti místu (adresáři), ve kterém se právě nacházíme. Důsledkem je, že určení cílového souboru není jednoznačné, ale záleží na aktuální poloze v adresářové struktuře. Relativní cestu od absolutní rozeznáme tak, že nezačíná symbolem /.

Pokud jsme tedy v adresáři /home/hanus/Video, pak se k našemu článku dostaneme pomocí absolutní cesty /home/hanus/Dokumenty/clanek.txt, nebo pomocí relativní cesty ../Dokumenty/clanek.txt . Význam .. v relativní cestě si záhy vysvětlíme.

Existují určité speciální symboly pro usnadnění práce s cestami. Symbol ~ nahrazuje cestu do domovského adresáře přihlášeného uživatele, takže místo absolutní cesty bychom mohli napsat ~/Dokumenty/clanek.txt (pokud budete ale jako uživatel bibri, bude mít ~ význam /home/bibri/).

V relativní cestě lze použít symbol .. (dvě tečky) pro označení nadřízeného adresáře a symbol . (jedna tečka) pro označení aktuálního adresáře. Takže ./clanek.txt označuje soubor clanek.txt v aktuálním adresáři a ../../clanek.txt soubor clanek.txt o dva adresáře výše.

Uživatelé Windows si jistě všimli, že adresáře se v Linuxu oddělují běžným lomítkem /, kdežto ve Windows je k tomuto účelu využíván znak zpětné lomítko \.

Tajemství adresářů v systému

V linuxovém systému existuje množství adresářů, které vznikají bez přímého přičinění běžných uživatelů; jde tedy o adresáře nacházející se jinde než v adresáři /home. Je mimo rámec tohoto článku podat jejich podrobný seznam a popis, zmíníme se zde alespoň o těch nejdůležitějších a nejzajímavějších:

  • /bin – Adresář obsahuje několik málo základních programů potřebných pro start systému, jež mohou být využity i běžnými uživateli (po startu).
  • /sbin – Obdobně jako adresář /bin, ale zde umístěné programy nejsou určeny pro běžné uživatele, nýbrž administrátora (superuživatele root).
  • /boot – Zde jsou uloženy soubory zavaděče a jádra potřebné při spouštění systému.
  • /dev – Soubory zařízení; jde o speciální soubory, které umožňují uživatelskou komunikaci se zařízeními systému (např. připojené diskové oddíly, sériové porty, zvuk, obraz aj.).
  • /etc – Konfigurační soubory globální, systémové; další konfigurační soubory jednotlivých aplikací naleznete v domovských adresářích uživatelů.
  • /home – Domovské adresáře jednotlivých uživatelů (jsou pojmenovány obvykle podle přihlašovacích jmen uživatelů) obsahující uživatelská data a uživatelskou konfiguraci (ta je uložena podle aplikací ve skrytých souborech nebo skrytých adresářích).

    Skryté soubory a adresáře (anglicky dot-files) se v Linuxu jednoduše vytvářejí tak, že jejich jméno začnete tečkou. Pokud tedy soubor clanek.txt přejmenujete na .clanek.txt, stane se skrytým (hidden) a pokud je správce souborů nastaven tak, aby nezobrazoval skryté soubory, pak již tento soubor neuvidíte. Stejné platí pro adresáře.

  • /lib – Sdílené knihovny vyžadované programy v kořenovém adresáři.
  • /mnt, /media – Adresář určený pro dočasně připojované systémy jako disketová jednotka, CD-ROM aj.
  • /opt – Instalují se sem některé nestandardní součásti systému, dodatečné aplikace, např. OpenOffice.org aj.
  • /proc – Poskytuje informace o systému (původně jen o procesech, odtud název); obsahuje pseudosouborový systém (dokonce je přiřazen ve fstab), který nereprezentuje strukturu dat na disku (nezabírá na disku žádné místo), ale jde o strukturu vytvořenou v paměti umožňující přístup k informacím o procesech a nastavení systému a jádra.
  • /root – Domovský adresář administrátora root; obvykle není přístupný ostatním uživatelům.
  • /tmp – Prostor vyhrazený běžícím programům pro ukládání dočasných souborů.
  • /usr – Tento adresář bývá velmi objemný, protože jsou do něj instalovány všechny aplikace; vnitřní struktura je z části podobná té z kořenového adresáře – najdeme zde bin, sbin, etc, lib; zvláštní význam mají adresáře /usr/share, kam jsou umisťovány aplikacemi sdílené soubory, a /usr/local, kde jsou instalovány aplikace „mimo“ distribuci (např. při kompilaci; opět adresáře bin, sbin, etc, lib aj.).
  • /var – Obsahuje data měněná za normálního běhu systému; jsou zde kupříkladu adresáře pro logování, tiskové a poštovní fronty, dlouhodobější tmp adresář aj.

Obvyklé dotazy

Zejména uživatelé přicházející k Linuxu z operačních systémů s jiným uspořádáním adresářové struktury jsou z počátku zaskočeni zdánlivou chaotičností té linuxové. Uvedeme si zde nejčastější otázky, které však již zodpověděl předchozí text.

Kde je disk C:?

Disk C:, jak jej znáte z Windows, v Linuxu nenajdete. Jde ale jen o pouhé označení diskového oddílu. Pokud jde o obsah, ve Windows bývají často data uživatelů na stejném oddíle jako samotný systém. Už jsme si řekli, že v Linuxu se tomuto uspořádání z praktických důvodů vyhýbáme. Systém pak najdeme na oddíle, který je připojen do kořenového adresáře /, případně dalších, jako jsou /boot, /var, /usr aj. Data uživatelů hledejte v adresáři /home a jeho podadresářích, oddíly a data jiných operačních systémů v adresáři /mnt.

Kde je CD/DVD-ROM/RW?

Výměnná média se připojují do adresáře /mnt. Pokud máte v systému více CD/DVD, mechanika zapojená jako master (popř. primary ze dvou slave), bude nejspíše připojena jako cdrom0 a druhá mechanika jako cdrom1. Pokud vám toto označení nevyhovuje, je velmi snadné ho změnit – jako uživatel root zde můžete vytvořit symbolické odkazy (např. ln -s /mnt/cdrom0 dvd) nebo změnit nastavení přímo v /etc/fstab (přímou editací nebo pomocí příslušného administračního nástroje v ovládacím centru).

O připojování dat z výměnných médií se v Linuxu starají různé nástroje, např. gnome-volume-manager v KDE a GNOME (vyzkoušejte si jeho nastavení s gnome-volume-properties) či starší supermount (stále pro diskety); nejnověji je pak tato funkce v režii jednotlivých grafických prostředí.

Kde je disketová jednotka?

Pokud máte v systému disketovou jednotku, najdete ji v adresáři /mnt připojovanou nejspíše do adresáře floppy.

Kde jsou data z připojeného flash disku, foťáku, karty?

I zde se jedná o výměnná média, takže je najdete připojená v adresáři /mnt. Moderní distribuce se o připojení starají samy (pokud jste toto chování nevypnuli) a po zasunutí a případném zapnutí externího zařízení zde můžete najít adresáře jako je removable, camera, Kingston (paměťová karta Kingston přes USB čtečku) a jiné, podle typu připojeného zařízení.

Obrázek: 3.jpg

Znázornění adresářové struktury v aplikaci Konqueror

Diskuze (15) Nahoru