V Linuxu není žádné „C:" a „D:". Existuje jeden jediný strom, který začíná u kořene
/a všechno ostatní, domovy uživatelů, konfigurace, logy, programy, ba i disky a flashky, které připojíš, visí někde v tom stromě jako složky. Až pochopíš, kde co bydlí a proč, přestane ti být systém labyrint a stane se z něj mapa, ve které se orientuješ poslepu.
Pár pojmů na úvod
- Kořen (root,
/) = úplný začátek stromu. Není nad ním nic, všechno je pod ním. Pozor: „root" znamená v Linuxu dvě věci, tenhle kořenový adresář/a taky superuživatele (admina). Ze začátku matoucí, časem si zvykneš. - Adresář (directory) = to, čemu Windows říká „složka". V Linuxu se běžně řekne „adresář", je to totéž.
- Cesta (path) = adresa souboru ve stromě, např.
/home/anna/poznamky.txt. Oddělovač je lomítko/(ne zpětné\jako ve Windows). - Mount (připojení) = akt, kterým se obsah disku (nebo flashky, síťové složky…) „napojí" do stromu na nějakou složku. Od té chvíle se do něj chodí jako do obyčejného adresáře.
- FHS (Filesystem Hierarchy Standard) = dohoda, která říká, co má být v
/etc, co v/var, co v/usr… Díky ní vypadá strom napříč distribucemi skoro stejně a ty víš, kam sáhnout.
Jeden strom, ne písmenka disků
Ve Windows má každý disk vlastní písmeno: systém na C:, druhý disk D:, flashka třeba E:. Když
připojíš nový disk, přiskočí další písmeno a máš prostě víc oddělených „stromečků".
Linux to dělá naopak. Je tu jeden strom od kořene / a nové disky se do něj připojují (mount)
jako složky. Druhý disk se ti může objevit třeba jako /mnt/data, flashka jako /run/media/anna/USB.
Z pohledu chození po systému je to pořád jen adresář, nemusíš vůbec řešit, na kterém fyzickém disku
zrovna jsi.
💡 Proto se v Linuxu neptáš „na kterém disku to je", ale „kde ve stromě to je". Fyzické disky jsou skryté pod logickou mapou, a to je záměr.
Co je v kořeni: mapa podle FHS
Když se podíváš do /, uvidíš hrstku adresářů s krátkými jmény. Nejsou náhodné, každý má svůj účel
daný standardem FHS. Tady je ta nejdůležitější sada:
/home: domovy obyčejných uživatelů. Anna má/home/anna, tam patří její dokumenty, stažené věci a nastavení. Tohle je jediné místo, kam běžně zapisuješ bez admina./root: domov superuživatele (roota). Není v/home, je zvlášť rovnou pod kořenem. Nepleť si/(kořen) a/root(domov admina), jsou to dvě různé věci./etc: konfigurace celého systému, samý text. Kdo poslouchá na síti, kdo se smí přihlásit, jak se jmenuje počítač, to všechno bydlí tady (např./etc/os-release,/etc/hosts)./var: proměnná data, co za běhu narůstají: hlavně logy (/var/log), fronty, cache, databáze. Když se plní disk, koukni sem první./usr: nainstalované programy a jejich data (aplikace, knihovny, dokumentace). Většina toho, co používáš, je fyzicky tady, i když to spouštíš krátkým jménem./bin,/sbin: binárky, tedy spustitelné příkazy./binzákladní pro všechny (ls,cp,cat),/sbinsprávcovské (mount,reboot). Na moderních distrech jsou to už jen odkazy do/usr./tmp: dočasné soubory. Kdokoli sem smí psát, ale po restartu se to obvykle smaže. Nikdy sem neukládej nic, o co nechceš přijít./dev: zařízení: disky (/dev/sda), klávesnice, atd. jako soubory. Víc za chvíli./proc,/sys: virtuální okna do jádra: běžící procesy, nastavení kernelu. Na disku fyzicky nejsou, jádro je vyrábí za běhu./boot: jádro a zavaděč (GRUB). To, co se načte hned po zapnutí, ještě než naběhne zbytek systému.
🚩 Nebudeš to umět zpaměti hned a nemusíš. Pravidlo palce: konfigurace →
/etc, logy →/var/log, tvoje věci →/home, programy →/usr. S tímhle přežiješ 90 % situací.
Absolutní vs relativní cesta
Cesta k souboru může být zapsaná dvěma způsoby a je klíčové ten rozdíl chápat:
- Absolutní cesta začíná lomítkem
/a popisuje trasu od kořene. Funguje odkudkoli, protože je jednoznačná:/home/anna/poznamky.txtje pořád ten stejný soubor, ať stojíš kdekoli. - Relativní cesta začíná od místa, kde právě stojíš (aktuální adresář). Když jsi v
/home/anna, takpoznamky.txtznamená totéž co absolutní/home/anna/poznamky.txt.
K relativním cestám patří čtyři zkratky, které musíš znát:
.(tečka) = „tady", aktuální adresář../skript.shznamená „skript v téhle složce"...(dvě tečky) = „o úroveň výš", nadřazený adresář. Z/home/annatě..dostane do/home.~(vlnovka) = můj domov. Pro Annu je~zkratka za/home/anna.~/Staženéje její složka Stažené./(samotné lomítko) = kořen, začátek stromu.
cd /home/anna # absolutní: skoč přesně sem
cd Dokumenty # relativní: vejdi do Dokumentů uvnitř aktuálního adresáře
cd .. # o úroveň výš
cd ~ # domů (totéž jako samotné: cd)
cd / # do kořene
💡 Analogie: absolutní cesta je jako plná poštovní adresa („Praha, Hlavní 5"). Relativní je jako „vedlejší dveře", má smysl jen podle toho, kde zrovna stojíš.
Jak se ve stromě pohybovat
Tři příkazy, se kterými se zorientuješ kdekoli:
pwd # print working directory: kde právě jsem?
cd /var/log # change directory: přesuň se sem
ls # vypiš, co v aktuálním adresáři je
ls -la # vypiš VŠECHNO včetně skrytého + podrobnosti
pwd je tvůj kompas: kdykoli se ztratíš, napiš pwd a systém ti řekne přesnou absolutní cestu, kde
stojíš. cd tě přesouvá, ls ukazuje obsah.
Skryté soubory začínají tečkou. Soubor .bashrc (nastavení tvého shellu) ls normálně nezobrazí,
je „skrytý" právě tou tečkou na začátku jména. Ukážeš ho až přepínačem -a (all):
ls # .bashrc neuvidíš
ls -a # teď ano: .bashrc, .config a spol.
Není to žádná ochrana ani tajnost, je to jen konvence, aby ti konfigurační soubory nepřekážely v běžném výpisu.
Připojení disku (mount) v kostce
Když strčíš flashku nebo přidáš disk, jádro o něm ví (uvidíš ho v /dev), ale ještě se do něj nedá
chodit jako do složky. K tomu je potřeba ho připojit (mount) na nějaký bod ve stromě, tzv. mount
point, což je prostě zvolený adresář.
Přirovnání: disk je knížka, mount point je poznámkový lísteček, kterým ji vlepíš do svého velkého
šanonu. Od chvíle připojení otevřeš /mnt/data a čteš obsah disku, jako by tam ta data „byla odjakživa".
lsblk # ukaž disky a jejich připojení (přehledný strom)
mount # co všechno je právě připojené a kam
Na desktopu to za tebe udělá automaticky prostředí (flashka naskočí do /run/media/...). Na serveru to
řešíš ručně nebo přes /etc/fstab (seznam, co se má připojit po startu), k tomu se dostaneš později.
Teď stačí chápat princip: připojení = vložení obsahu disku do stromu na zvolenou složku.
„Všechno je soubor" prakticky: /dev a /proc
V kapitole o Linuxu padlo, že „všechno je soubor". Tady to uvidíš na dvou konkrétních místech ve stromě:
/dev: zařízení jako soubory. Tvůj první disk je/dev/sda, druhý/dev/sdb, terminál/dev/tty. Existuje i/dev/null, černá díra, do které zahodíš cokoli, co nechceš vidět. Nejsou to data na disku, jsou to „dvířka" k hardwaru vystavená jako soubory./proc: info od jádra jako soubory. Pro každý běžící proces je tu složka pojmenovaná jeho číslem (PID)./proc/cpuinfoti řekne o procesoru,/proc/meminfoo paměti a čteš to obyčejnýmcat.
cat /proc/cpuinfo # info o CPU: čteno jako obyčejný soubor
echo "nezajímá mě" > /dev/null # zahoď výstup do černé díry
Kouzlo je v tom, že na tyhle úplně rozdílné věci (hardware, procesy, systémové informace) ti stačí
stejné nástroje jako na obyčejný textový soubor. Žádné speciální API, jen cat, >, grep, less.
Failure modes, časté omyly začátečníků
- „Hledám disk D." V Linuxu žádná písmena nejsou. Druhý disk je někde ve stromě (
/mnt,/run/media), najdeš ho přeslsblk, ne v „Tento počítač". - „Uložím si to do
/tmp, ať to mám po ruce."/tmpse po restartu maže. Cokoli důležitého patří do~(domova). - „
/a/rootje to samé." Není./je kořen celého stromu,/rootje domovská složka jednoho uživatele (admina). - „Napíšu cestu se zpětným lomítkem
\." Windows reflex. V Linuxu je oddělovač normální lomítko/;\má úplně jiný význam (escapování). - „Skrytý soubor = zabezpečený soubor." Tečka na začátku jména není zámek, jen konvence, ať výpis nepřekáží.
ls -aho ukáže komukoli.
🛠️ Cvičení
- Zorientuj se. Otevři terminál a zjisti, kde stojíš (
pwd). Pak skoč do kořene, vypiš jeho obsah, a vrať se domů, pokaždé jiným způsobem než absolutní cestou. (Nápověda:cd,..,~.) - Přečti mapu. Vypiš obsah
/etc,/var/loga/home. U každého řekni jednou větou, co bys tam čekal, že najdeš a ověř, jestli to sedí. - Odhal skryté. Ve svém domově spusť
lsa pakls -la. Kolik věcí přibylo a proč? Najdi soubor.bashrca vysvětli, proč ho běžnýlsneukázal. - Zařízení a procesy jako soubory. Přečti
/proc/cpuinfoobyčejnýmcata v/devnajdi svůj disk. Jak to souvisí s „všechno je soubor"? - Kdo je připojený. Spusť
lsblka najdi, který disk je připojený na/(kořen). Kdybys zapojil flashku, kde bys ji ve stromě čekal?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
- Orientace,
pwdvypíše absolutní cestu, kde stojíš (typicky/home/tvojejmeno). Do kořene:cd /, výpisls. Zpátky domů relativně/zkratkou:cd ~nebo úplně holécd(bez argumentu jde vždy domů), případněcd ..opakovaně. Pozor: holécd= domů, to je užitečná zkratka, kterou si zapamatuj. - Mapa,
/etc= konfigurační textové soubory systému (ls /etc),/var/log= logy (ls /var/log),/home= domovy uživatelů (ls /home). Sedí to podle FHS: config, proměnná data, uživatelské domovy. Pozor: do/etca/varběžně zapisuje jen admin (root), ty tam většinou jen čteš. - Skryté soubory,
ls -laukáže i položky začínající tečkou (.bashrc,.config) plus dvě speciální:.(tenhle adresář) a..(nadřazený)..bashrclsnormálně skryje kvůli tečce na začátku jména, není to ochrana, jen konvence. Pozor:-a= all (včetně skrytých),-l= long (podrobnosti). - Vše je soubor,
cat /proc/cpuinfovypíše informace o CPU, přestože žádný takový soubor na disku fyzicky není, jádro ho vyrábí za běhu. V/devje disk např./dev/sda. Obojí ukazuje, že hardware i info jádra jsou vystavené jako soubory, takže stačícat. Pozor:/proca/devjsou virtuální, po rebootu se generují znovu, nezabírají místo na disku. - Připojení,
lsblkvykreslí strom disků a v sloupci MOUNTPOINTS uvidíš, který oddíl je na/. Flashku bys po zapojení čekal na desktopu v/run/media/tvojejmeno/..., na serveru tam, kam ji ručně připojíš (často/mnt). Pozor: „vidět disk v/dev" ≠ „být připojený", připojení je samostatný krok (mount).
🧠 Otázky & odpovědi
Proč v Linuxu nejsou písmena disků jako C: a D:?
Protože Linux má jeden jediný strom od kořene / a nové disky se do něj připojují (mount) jako
složky, ne jako oddělené „stromečky" s vlastním písmenem. Druhý disk se objeví třeba jako /mnt/data,
flashka jako /run/media/anna/USB. Výhoda: z pohledu chození po systému je všechno jen adresář a nemusíš
řešit, na kterém fyzickém disku zrovna jsi, fyzická vrstva je schovaná pod jednou logickou mapou.
Jaký je rozdíl mezi absolutní a relativní cestou?
Absolutní cesta začíná lomítkem / a popisuje trasu od kořene, je jednoznačná a funguje odkudkoli
(/home/anna/poznamky.txt je pořád ten stejný soubor). Relativní cesta začíná od místa, kde právě
stojíš (aktuální adresář), takže její význam závisí na tom, kde jsi. Pomáhají zkratky: . = tady,
.. = o úroveň výš, ~ = můj domov, / = kořen. Analogie: absolutní = plná poštovní adresa,
relativní = „vedlejší dveře".
Co znamená připojit disk (mount)?
Že obsah disku (nebo flashky, síťové složky) napojíš do stromu na zvolenou složku, tzv. mount point.
Od té chvíle do disku chodíš jako do obyčejného adresáře: otevřeš /mnt/data a čteš jeho obsah. Samotné
„vidím disk v /dev" ještě neznamená, že se do něj dá chodit, připojení je samostatný krok. Na desktopu
to udělá prostředí automaticky, na serveru to řešíš ručně nebo přes /etc/fstab.
Kam patří moje soubory, konfigurace a logy?
Drž se pravidla palce z FHS: tvoje věci → /home (např. /home/anna, zkratkou ~), konfigurace
systému → /etc, logy → /var/log, nainstalované programy → /usr. /tmp je jen na dočasné
soubory a po restartu se maže, nic důležitého tam nedávej. /root je domov admina (roota), ne totéž
co kořen /. S touhle mapou trefíš, kam sáhnout, ve většině situací.
