Linux: Začínáme!Seriál o Linuxu, druhý díl, Softwarové noviny 7/2000
V minulém díle seriálu jste se seznámili se základními
vlastnostmi operačního systému Linux. V přehledu distribucí jste
si mohli vybrat tu pravou. Než si začneme povídat o tom, jak z
Linuxu vytvořit intranetový či internetový server, musíme ještě
trochu sjednotit vědomosti. V tomto díle se proto začátečníci
seznámí se základy práce v Linuxu.
|
Od přihlášení k prvnímu příkazu
Linux je multiuživatelský systém, proto práce v systému
začíná vždy přihlášením k systému, tedy zadáním uživatelského
jména a hesla. Teprve potom smíte vůbec něco dělat. S operačním
systémem komunikujete pomocí příkazů, které můžete zadávat buď
vědomě přímo z příkazové řádky nebo nevědomky nepřímo kliknutím
na nějakou ikonu nebo menu.
Pracujete-li v textovém režimu, spustí se po vašem
přihlášení ihned program, který čte vámi zadávané příkazy a
tlumočí je dále systému. Proto se tomuto programu říká příkazový
interpret, zkráceně a zkušeně shell. Příkazový interpret je
možné spustit i v grafickém režimu: stačí spustit nějakou
emulaci terminálu, jako je xterm nebo kvt. Jak je v Linuxu
zvykem, existuje příkazových interpretů hned několik. Jako
uživatel začátečník možná žádný výrazný rozdíl nezpozorujete:
vzhledově se od sebe interprety neliší. Příkazy můžete
interpretu sdělovat rovnou vstupem z klávesnice, nebo si
nachystáte v nějakém souboru několik souvisejících příkazů a
interpretu jen řeknete, kde je najde. Pomocí takových souborů -
skriptů - můžete poměrně snadno zjednodušit určité složité nebo
často prováděné aplikace: zálohování, kontrola disků, rozesílání
hromadné pošty...
Rozdíly mezi jednotlivými interprety objevíte právě v
okamžiku, až začnete psát dávky a skripty. Pravidla zápisu
skriptů pro jednotlivé interprety se trochu liší a liší se i
jejich schopnosti. Nebudu vám radit, který interpret si vybrat:
každý interpret má své stoupence, každý má své výhody a
nevýhody. Až se v Linuxu otrkáte, vyberete si sami. Rozhodně to
není první věc, kterou si v začátcích práce s Linuxem lámat
hlavu.
Rozhraní každého interpretu je ale skoro stejné: na
začátku posledního řádku je nějak naznačeno, jak se jmenujete,
u kterého počítače sedíte a ve kterém adresáři právě
pracujete. Za touto informací je nastaven (nebo bliká) kurzor a
vy sem můžete psát příkazy. Úvodnímu hlášení na začátku řádku se
říká výzva (zkušeně prompt) a bývá odlišné v různých verzích
Linuxu. Jiný prompt mívá uživatel root a jiný
prostý uživatel. Například v mé distribuci Linuxu vypadá prompt
pro uživatele lenka takto:
[lenka@duck lenka]$
a prompt pro uživatele root
takto:
[root@duck lenka]#
Syntaxe příkazů, které zadáváte operačnímu systému, je
stejná bez ohledu na to, jaký interpret používáte. Základních
příkazů systému je docela hodně a navíc je většina z nich
vybavena četným zástupem dalších parametrů. Nebudu je proto
všechny popisovat. Příkaz spustíte tak, že v příkazovém řádku
napíšete jeho jméno. Chci-li spustit příkaz
ls pro výpis obsahu adresáře, prostě napíšu
do příkazového řádku ls. Parametry příkazů
jsou většinou písmena, která jsou uvozena pomlčkou. Rozšiřují
nějak dále možnosti příkazu. Například uvedený
ls bez parametrů vypíše velmi nepřehledně jen
seznam všeho, co v adresáři našel:
[lenka@duck lenka]$ ls
Desktop dead.letter jetzt lenkaemacs mail swn-linux
dbxml emerge kvt.kdelnk lenkaemacs~ nsmail
Existují proto parametry, které chování příkazu
upraví. Parametrem a určíme, že chceme vidět
i skryté soubory, parametrem l si požádáme o
formátovaný výstup a parametrem h příkazu
doporučíme, aby velikosti souborů vypisoval v normálních
jednotkách. Je-li parametrů více, jako v tomto případě, nemusíme
před každý psát pomlčku. Stačí napsat pomlčku jednou a seskupit
za ní ostatní parametry:
[root@duck lmat]# ls -lah
celkem 208k
drwxr-xr-x 19 lmat lmat 4.0k čen 16 12:48 .
drwxr-xr-x 6 root root 4.0k čen 15 11:57 ..
-rw-rw-r-- 1 lmat lmat 5.9k bře 20 12:20 .emacs
drwx------ 3 lmat lmat 4.0k čen 15 12:13 .enlightenment
drwxr-x--- 4 lmat lmat 4.0k kvě 8 10:31 .gftp
drwxrwxr-x 11 lmat lmat 4.0k kvě 7 18:58 .gimp
-rw-rw-r-- 1 lmat lmat 13 kvě 8 11:44 .ispell_czech
-rw-rw-r-- 1 lmat lmat 2 čen 16 10:51 .kaudioserver
drwxr-xr-x 3 lmat lmat 4.0k kvě 7 08:52 .kde
-rw-r--r-- 1 lmat lmat 757 čen 16 10:51 .kderc
drwxr-xr-x 3 lmat lmat 4.0k kvě 7 16:53 .xmms
drwxr-xr-x 5 lmat lmat 4.0k kvě 17 22:50 Desktop
drwxrwxr-x 3 lmat lmat 4.0k kvě 7 15:50 dbxml
-rw------- 1 lmat lmat 293 čen 6 00:33 dead.letter
drwxrwxr-x 8 lmat lmat 4.0k čen 15 09:51 emerge
drwxrwxr-x 5 lmat lmat 4.0k kvě 18 10:29 jetzt
-rw-r--r-- 1 lmat lmat 625 kvě 7 15:20 kvt.kdelnk
-rwxrwxr-- 1 lmat lmat 36 čen 5 16:08 lmatemacs
-rwxrwxr-- 1 lmat lmat 34 čen 5 10:59 lmatemacs~
drwx------ 2 lmat lmat 4.0k čen 16 10:49 mail
drwx------ 3 lmat lmat 4.0k kvě 17 20:49 nsmail
drwxrwxr-x 2 lmat lmat 4.0k čen 16 12:53 swn-linux
Většina příkazů umožňuje parametry předávat i v dlouhé
podobě. Potom se uvozují dvěma pomlčkami za sebou. Místo
parametru -a jsme tak mohli psát
--all, místo -h zase
--human-readable.
|
|
|
Nejrovnější mezi rovnými
Linux je takzvaný multiuživatelský systém. Znamená to, že
v systému může současně pracovat prakticky neomezené množství
různých uživatelů. Jednotliví uživatelé o sobě mohou, ale také
nemusí vědět. V zásadě jsou si všichni uživatelé rovni. V
systému mají tzv. účet, chráněný heslem proti zneužití. Mají
přidělen určitý prostor na disku, kde si mohou dělat, co je
napadne. Systémové soubory stejně jako soubory ostatních
uživatelů jsou jim většinou nedostupné. Chtějí-li instalovat
nějaké programy, mohou tak učinit pouze ve svém vyhrazeném
prostoru. Nemají většinou právo měnit nastavení systému nebo
instalovat cokoliv do ostatních adresářů. Systém je tak docela
dobře chráněn proti neoprávněnému zásahu a porušení.
Jednotliví uživatelé mohou být slučováni do skupin. Tyto
skupiny mají potom speciální práva. Je-li systém v nějaké firmě,
mohou jednu skupinu uživatelů tvořit účetní mající přístup k
fakturám, účtenkám a účetnímu programu, jinou skupinu potom tvoří
prodejci, kteří naopak účetní program spustit nesmí..
Mezi všemi uživateli se tyčí ten, kdo všemu vládne:
uživatel, který se jmenuje root (česky kořen
:-). Někdy se mu říká také správce systému nebo
superuživatel. root má svou vlastní skupinu
root. Jestliže do ní zařadíme nějakého
uživatele, získává stejná práva, jako
root. Jedině root smí
vytvářet, upravovat a mazat účty ostatních uživatelů. Jedině on
vidí všechny adresáře a soubory, které jsou na disku přístupné a
jedině on smí ve všech případech převzat jejich vlastnictví. Smí
instalovat programy, spouštět všechny příkazy, měnit nastavení
systému. Vzhledem ke svému božskému postavení je
root zároveň také nejnebezpečnějším
uživatelem systému. Na rozdíl od ostatních uživatelů může
drobnou chybou celý systém nenahraditelně poškodit. Proto se
nedoporučuje pracovat v systému příliš často jako
root. Platí to i v případě, kdy jste
uživatelem systému jen vy sami.
Zná-li nějaký z uživatelů heslo k účtu
root, může občas pracovat jako
root. Stačí, když v příkazovém řádku zadá
příkaz su. Potom stačí zadat heslo, vykonat
to, co potřebujete a příkazem exit se stát
zase prostým uživatelem. Znovu opakuji, že i v případě, kdy jste
uživatelem systému jen vy sami, je mnohem bezpečnější vytvořit
účet pro obyčejného uživatele a k normální práci používat tento
účet. Až se rozhodnete něco instalovat, použijte
su.
Kromě uživatele root a ostatních
fyzických uživatelů existují v systému ještě další virtuální
účty, například bin,
daemon nebo nobody. Tyto
účty slouží systému ke spouštění různých procesů nebo pro práci
jiných programů. Například uživatele nobody
používá webový server.
Seznam všech uživatelů je uložen v souboru
passwd uloženém v adresáři
etc. Na každém řádku souboru je vždy
uvedeno jméno uživatele, za dvojtečkou může, ale nemusí být
uvedeno kodované heslo, následují dvě čísla, podrobnější
informace o uživateli, cesta k jeho domovskému adresáři a cesta
k programu, který se spustí po přihlášení do systému. Čísla
jsou identifikační čísla uživatele a skupiny do které patří. Řádek
pro uživatele lenka v mém Linuxu proto vypadá
takto:
lenka:x:500:500:Lenka M.A. Triskova:/home/lenka:/bin/bash
Ve stejném adresáři jako soubor
passwd je uložen i soubor
group obsahující informace o skupinách
uživatelů.
Nového uživatele můžete vytvořit dvěma způsoby: buď přímo
přidáte řádek do souboru passwd, nebo
použijete příkaz useradd (nebo
adduser, záleží na distribuci). Heslo potom
uživateli nastavíte příkazem passwd. Hesla
uživatelů smí měnit jen oni sami (potom spouštějí příkaz bez
parametrů) nebo root (spustí příkaz se jménem
uživatele, např. passwd lenka).
|
|
|
Nepropadejte panice!
Zvládnout práci s novým neznámým systémem bývá
nesnadné. Nemusíte se ale obávat, že to půjde ztuha. Linux je
vybaven spoustou možností, jak rychle získat nápovědu a pomoc v
nouzi.
Za prvé: většina příkazů má parametr
--help (nebo některé starší verze jen
h). Zadáte-li příkaz s tímto parametrem,
vypíše se vám nápověda. Například v posledních distribucích
RedHat je navíc nápověda v češtině: zde je ukázka začátku
nápovědy k příkazu ls:
[lenka@duck lenka]# ls --help
Použití: ls [PŘEPÍNAČ]... [SOUBOR]...
Vypisuje informace o SOUBORech (implicitně z aktuálního adresáře). Jestliže
není zadán žádný z přepínačů -cftuSUX nebo --sort, výstup bude seřazen
abecedně.
-a, --all vypíše všechny soubory i ty začínající tečkou
-A, --almost-all vypíše všechny soubory, kromě souborů '.' a '..'
-b, --escape vypíše negrafické znaky osmičkově
--block-size=VELIKOST použije tuto velikost bloku
-B, --ignore-backups nevypisuje soubory končící na ~
-c s -lt: řadí podle ctime a vypisuje ctime (čas
poslední změny i-uzlových informací);
s -l: vypisuje ctime, řadí podle názvu souboru;
jinak: řadí podle ctime
Za druhé: jestliže nerozumíte nápovědě k příkazu, nebo je
nápověda na váš vkus příliš stručná, zkuste manuálové
stránky. Spouští se příkazem man téma, kam za
téma dosadíte co vás zajímá. Nápovědu k příkazu
ls tak získáte pomocí man
ls. Manuálové stránky jsou již trochu sdílnější, mají
však jednu podstatnou nevýhodu: musíte vědět, co
hledat. Nemůžete proto zadat příkaz man
jak-mám-kopírovat-soubory?. Proto existuje třetí typ
nápovědy, soubory HOW-TO, neboli rady, jak řešit konkrétní
problémy. Ve většině distribucí je máte tyto soubory k dispozici
formátované jako obyčejné textové soubory, jako HTML a jako
postscript. Jestli žádné HOW-TO nenajdete, dají se stáhnout z
Internetu.
Další možností, jak čerpat informace, jsou soubory FAQ. Je
to zkratka z anglického Frequently Asked Questions, což česky
znamená často kladené otázky. FAQ bývají součástí distribuce,
ale rozhodně je také seženete na Internetu. No a konečně
existuje celá řada knih a textů. Mnohé vyšly i u nás v českém
překladu.
|
|
|
Od povrchu až k jádru
Každému programu, který v Linuxu spustíte, se říká
proces. Je to nezávisle běžící program s vlastním vstupem a
výstupem a vlastními systémovými zdroji. Aby v Linuxu nezavládla
naprostá anarchie, existuje jeden program nadřazený všem
ostatním: jádro Linuxu (někdy se používá poloanglický název
kernel). Jádro jednotlivé procesy řídí a hlídá, aby si vzájemně
neubíraly paměť, nepřepisovaly si soubory na disku a
podobně. Jádro je tedy velmi důležitou částí operačního
systému. Proto je také taková pozornost ve světě Linuxu věnována
právě vývoji jádra a proto se s každou novou verzí vedou diskuse
o tom, co do jádra zařadit a co ne.
Prakticky vše, co Linux umí, musí být nějakým způsobem
obsaženo v jádře nebo o tom jádro musí vědět. V jádře musí být
zastoupeny ovladače pro všechna zařízení, která používáte, musí
zde být také nějak zabudována podpora pro souborové systémy na
vašich discích, podpora sítě, síťových protokolů atd. Existují
dva způsoby, jak jádro naučit určitou činnost: buď jádro přímo
obsahuje příslušný kód, nebo obsahuje odkaz na externí soubor,
ve kterém potřebný kód najde. Externím souborům pro jádro se
říká moduly. O tom, jak bude jádro vypadat a co všechno bude
vlastně umět, rozhoduje správce systému při instalaci. Kromě
toho má kdykoliv v budoucnosti možnost jádro nově upravit a nově
přeložit.
Možnost připojit různé ovladače k jádru jako zaveditelný
vnější modul představuje nesmírnou výhodu. Kdyby muselo být vše
obsaženo přímo v jádře, časem by vám skromné jádro slušně
nabobtnalo. Navíc byste vždy museli se změnou nějakého ovladače
nově sestavovat a překládat jádro, což může být na pomalejším
stroji časově náročné. Proto se do jádra zahrnují jen ovladače
životně důležité pro systém a většina ovladačů se připojuje až v
okamžiku, kdy je uživatel potřebuje.
Sestavení nového jádra a jeho překlad je vcelku normální
součástí života správce Linuxového systému. Neznamená to, že je
nutné jádro překládat každý týden, dochází k tomu spíše v
případech, kdy nějak měníte HW konfiguraci počítače, způsob
připojení k síti a podobně. Rozhodně se nemusíte bát, že to bude
těžké. Pro sestavení nového jádra existují nástroje pro
grafickou i textovou konzoli a sestavení nového jádra tak
zvládne průměrně cvičená opice (například já...).
Procesy, které jádro hlídá, spouštějí jednotliví uživatelé
nebo jiné procesy. Každý běžící proces má své identifikační
číslo (PID), pracovní adresář a svého majitele. Majitelem
procesu je uživatel, který proces spustil. Majitel smí spuštěný
proces kdykoliv ukončit a to i hrubým a násilným způsobem pomocí
příkazu kill v případě, že se proces zasekne
a přestane komunikovat. Seznam všech běžících procesů zjistíte
příkazem ps, úplný seznam včetně jmen
majitelů, pracovních adresářů a informací využití systémových
zdrojů potom příkazem ps -aux.
|
|
|
Jak Linux vypadá
Zkuste zavřít oči a vybavit si, jak vypadají
Windows. Představovali jste si monitor s pracovní plochou,
ikonami, nabídkou Start a možná nějakým otevřeným oknem?
Výborně. Nyní zavřete oči a představte si Linux. Pravděpodobně
to bude mnohem těžší, Linux je totiž mnohem proměnlivější. Jak
jste se možná dočetli v prvním díle seriálu, možných rozhraní,
která svým uživatelům nabízí ke komunikaci, existuje poměrně
dost.
Základním rozhraním je textový režim s příkazovým
řádkem. V takovém případě toho z Linuxu mnoho neuvidíte. Systém
s vámi komunikuje pomocí hlášení vypisovaných na obrazovku a vy
mu odpovídáte vstupy z klávesnice. Celé je to nápadně podobné MS
DOSu. Podstatný rozdíl ale existuje v možnostech, které vám oba
systémy nabízí. Zatímco v DOSu máte k dispozici jen jednu černou
obrazovku, v Linuxu můžete i v textovém režimu pracovat
dohromady na šesti věcech najednou. K dispozici máte totiž šest
tzv. virtuálních konzolí, mezi kterými se můžete přepínat pomocí
kláves AltF1 až AltF6. Na jednotlivých konzolách můžete pracovat jako
různí uživatelé a dělat naprosto odlišné věci, jsou vzájemně
nezávislé.
Kromě toho vám Linux nabízí mnoho různých grafických
rozhraní. Na rozdíl od Windows však grafické rozhraní není
nedílnou součástí systému a je také mnohem
variabilnější. Pracujete-li v grafickém rozhraní, je v systému
spuštěn program X-server, který vydává pokyny jednotlivým oknům,
čte vstupy z klávesnice a rozhoduje, kterému procesu je pošle. S
X-serverem komunikuje správce oken, který okna
vykresluje. Správců oken existuje mnoho a díky tomu také
existuje mnoho různých vizuálních podob Linuxu. Dnes
nejpoužívanější správci oken jsou KDE a GNOME (oboje je trochu
více než jen správce oken, jsou to skutečně ucelená grafická
rozhraní nabízející navíc nejrůznější grafické nástroje pro
správu systému, programy apod.). Klasikou je například fvwm nebo
Window Maker.
Každé grafické rozhraní se ovládá trochu odlišně. Na
druhou stranu ani v jednom případě neklade ovládání příliš
vysoké nároky na inteligenci uživatele. Většina se dá zvládnout
intuitivně. Jen si musíte zvyknout na to, že někteří správci
oken používají i prostřední tlačítko myši (u dvoutlačítkových
myší se nahrazuje současným stiskem obou tlačítek) a že pravé
tlačítko myši může mít úplně jinou funkci než ve Windows. I v
grafice máte většinou k dispozici více než jednu pracovní
plochu. Kromě toho je možné se stiskem kláves CtrlAltF1 až
CtrlAltF6 přepnout na textovou konzoli. Zpět do grafického
rozhraní se vrátíte stiskem AltF7.
Většina uživatelů, kteří s Linuxem pracují déle, nakonec
dospěje do stavu, kdy si v grafickém rozhraní spustí emulátor
terminálu (textové konzole) a pracují v něm. Proč? Práce v
grafickém rozhraní je většinou velmi pohodlná, ale také
zdlouhavá. Jakmile znáte většinu příkazů operačního systému
zpaměti, je mnohem rychlejší pracovat v terminálu pomocí
klávesnice než bloudit myší mezi okny.
|
|
|
Soubory a adresáře
Podobně jako je tělo živých organismů složeno z
různých typů buněk tvořících dohromady tkáně a orgány, je tělo
operačního systému poskládáno z různých souborů. Vše, co se v
operačním systému děje, se nějak točí kolem souborů: všechny
programy a příkazy jsou uloženy někde v souborech stejně jako
data a konfigurace.
Podle obsahu můžeme soubory rozdělit v zásadě do dvou
velkých skupin: na soubory textové a binární. Textový soubor
obsahuje znaky zapsané pomocí tzv. ASCII kódu. Obsah souboru
snadno prohlédnete pomocí libovolného textového editoru nebo
pomocí příkazů sloužících k práci s textovými soubory. Binární
soubor obsahuje data uložená jiným způsobem. Příkladem binárního
souboru může být obrázek uložený v libovolném formátu nebo
spustitelný program přeložený do strojového kódu. Když si
binární soubor otevřete v textovém editoru, uvidíte něco, čemu
se často říká rozsypaný čaj: textový editor se
pokusí na obsah souboru nahlédnout ASCII brýlemi. Jsou-li data
uložena v binárním souboru, potřebujete nějaký speciální
program, který ví, jak jsou uložena a dokáže tak obsah souboru
nějak zpracovat.
Ve Windows se setkáte spíše se soubory
binárními. Především vlastní nastavení Windows - registr - je
uloženo v binárním souboru. Rovněž mnoho programů používá
binární konfigurační soubory a své výstupy ukládá v
nejrůznějších binárních formátech. V Linuxu se s textovými
soubory potkáte na každém kroku: všechna nastavení systému i
jednotlivých programů jsou totiž uložena právě v textových
souborech. Proto také ve většině knih o Linuxu najdete mezi
prvními kapitolami popisy textových editorů: bez nich se totiž
správce neobejde. Binární soubory jsou většinou spustitelné
programy, obrázky nebo nějaká speciální data.
Každý soubor se nějak jmenuje. V Linuxu nejsou jména
souborů nijak drasticky omezována. Platí následující zásady
(stejné zásady platí i pro pojmenovávání adresářů):
-
Jméno souboru smí být dlouhé maximálně 255 znaků.
-
Jméno smí obsahovat libovolné znaky, tedy i mezery
nebo znaky s diakritikou. Nepoužívejte znak
/, tímto znakem se totiž oddělují adresáře
v cestě. Zbytečně byste svého tučňáka pletli.
-
Rozlišují se velká a malá
písmena. Soubor,
soubor a SOUBOR
jsou tři různá jména pro tři různé soubory.
Jméno souboru nebo adresáře může být skutečně
libovolné. Například lstivý hacker může svůj domovský adresář
pojmenovat pouze znakem mezera a skrýt se třeba do adresáře
/dev - je v něm prakticky
neobjevitelný, protože jej ve výpisu snadno přehlédnete.
Na rozdíl od Windows nemusí mít soubory v Linuxu žádné
přípony oddělené tečkou od vlastního jména souboru. Tečky se v
názvech souborů mohou vyskytovat na libovolném místě v
libovolném počtu. Přípony se často používají pro určení typu
souboru: u obrázků, komprimovaných souborů a
podobně. Komprimované archivy jsou typickým příkladem souboru se
dvěma příponami: poznáte je podle názvu
jmeno.tar.gz. Začíná-li název souboru
tečkou, potom se velmi pravděpodobně jedná o konfigurační a
podobné systémové soubory. Někdy se těmto souborům říká
skryté. Základní příkaz pro výpis obsahu adresáře je totiž
nezobrazuje. Stejně tak ve většině grafických nástrojů pro
zobrazování obsahu adresářů musíte samostatně nastavit, zda
chcete zobrazovat i tyto soubory. Podobné zásady platí i pro
adresáře. Jejich jména se tvoří stejně jako jména souborů. Tečka
na začátku jména má i u adresáře podobný význam jako u
souboru. Používáte-li například grafické rozhraní KDE, najdete
ve svém domovském adresáři jistě i adresář
.kde. Obsahuje základní nastavení pro
správce oken a aplikace určené pro KDE.
V příkazovém řádku si obsah adresáře zobrazíte pomocí
příkazu ls. Chcete-li vidět i skryté
soubory, musíte jej spustit s parametrem ls
-a. Následující výpis ukazuje rozdíl. Nejprve vidíte
zdánlivě prázdný domovský adresář pokusného uživatele
test, potom vidíte obsah téhož adresáře i
se skrytými soubory.
[test@duck test]$ ls
Desktop[test@duck test]$ ls -a
. .bash_logout .bashrc .kde .xauth
.. .bash_profile .emacs .kderc DesktopPopisu, který určuje, kde přesně se soubor na disku
nachází, se říká cesta k souboru. Cesta může být absolutní,
potom popis začíná přímo v nejvyšším adresáři. Na rozdíl od
Windows, kde je diskový prostor rozdělen podle jednotlivých
disků a značen písmeny, existuje v Linuxu jen jeden nejvyšší
adresář. Říká se mu kořenový a označuje se lomítkem
/. Absolutní cesta proto vždy začíná lomítkem,
odkazem na kořenový adresář. Následují jednotlivé adresáře,
oddělené zase lomítky. (Varování pro uživatele Windows: lomítka
jsou obrácená!). Na konci výpisu je jméno souboru nebo adresáře,
ke kterému cesta vede.
Je-li nutné přesně určit, o jakém adresáři či souboru
mluvíme, používá se místo pouhého jména adresáře celá
absolutní cesta k adresáři. Je totiž mnohem jednodušší říci,
že mám články uloženy v adresáři
/home/lenka/clanky, než složitě
popisovat: Moje články jsou v adresáři
clanky, který mám ve svém domovském
adresáři lenka. Ten je v adresáři
home, jenž je přímo v kořenovém
adresáři... Při pohybu mezi adresáři v příkazovém řádku nepotřebujete
vždy přesně vypisovat celou absolutní cestu. Zbytečně to
zdržuje. Existuje proto ještě tzv. relativní cesta. Popisuje
cestu, která k cíli vede z právě otevřeného adresáře. Aktuální
adresář se označuje jednou tečkou, ., nadřazenému
adresáři přísluší dvě tečky ... Jsme-li vnořeni v
adresáři home, vede k mým článkům cesta
lenka/clanky.
Každý proces spuštěný v Linuxu má svůj pracovní
adresář. Odkládá si do něj různé dočasné soubory a podobně. I
příkazový řádek má svůj pracovní adresář. Ke zjištění absolutní
cesty k pracovnímu adresáři v příkazovém řádku slouží příkaz
pwd:
[lenka@duck clanky]$ pwd
/home/lenka/clanky
K přechodu mezi jednotlivými adresáři slouží příkaz
cd. Parametrem příkazu může být absolutní i
relativní cesta. Chceme-li se pouze vynořit z adresáře
clanky, postačí nám příkaz cd
... K přechodu do adresáře
/home/lenka/dopisy z adresáře
/home/lenka/clanky použijeme příkaz
cd ../dopisy.
Při popisu cesty nebo jména souboru se mohou používat
zástupné znaky. Nejčastěji používaným znakem je hvězdička
*. Nahrazuje libovolnou skupinu znaků. Cesta ke
všem souborům v adresáři /home/lenka,
jejichž jména začínají písmenem k, se proto
zapíše /home/lenka/k*.
Se svými soubory můžete manipulovat buď pomocí příkazů
(cp pro kopírování, mv pro
přesun, mkdir pro vytvoření nového
adresáře...) přímo v příkazovém řádku, nebo nějakým
nástrojem. Nejpoužívanější nadstavbou pro práci se soubory v
textovém režimu je asi Midnight commander. Spustíte jej příkazem
mc. Kdo je z DOSu nebo Windows zvyklý na
Norton (Volkov) Commander nebo jiný podobný program, jistě
zajásá. Já osobně i v grafickém prostředí spouštím pro práci se
soubory v Midnight Commander v emulátoru terminálu. Grafická
rozhraní nabízí pro práci se soubory nástroje podobné nástrojům
Windows. V GNOME je připraven grafický Midnight Commander. V KDE
najdete program kfm. Podobné programy
najdete ve většině grafických rozhraní. Některé distribuce mají
vlastní správce souborů (například Corel Linux). Většina
grafických nástrojů pro práci se soubory se dá použít i jako
webový prohlížeč či FTP klient.
V Linuxu pracuje několik uživatelů současně, proto je u
každého souboru přesně určeno, komu soubor patří a jak s ním smí
zacházet ostatní uživatelé. Obecně se v Linuxu rozlišují tři
úrovně přístupových práv: přístupová práva vlastníka, přístupová
práva skupiny uživatelů, do které vlastník patří a přístupová
práva ostatních uživatelů. V každé úrovni můžeme povolit právo
čtení, právo zápisu a právo spuštění. Jestliže na nějaké úrovni
nejsou nastavena žádná práva, uživatelé z této úrovně soubor
vůbec neuvidí a nebudou mít ani tušení, že se na disku
vyskytuje. Příkladem mohou být domovské adresáře uživatelů,
které si často vzájemně uživatelé vůbec nevidí. Právem čtení
adresář či soubor zviditelníme, povolíme prohlížení a kopírování
souboru. Právem zápisu dále povolíme soubor přesouvat, upravovat
nebo smazat. Spustitelné soubory (programy) navíc mívají
nastaveno právo soubor spouštět. I toto právo se dělí do tří
úrovní: například některé důležité příkazy smí spouštět jen
uživatel root. O tom, zda bude možné soubor
spustit, nerozhoduje přípona souboru, jak jste možná zvyklí z
Windows, ale právě právo (atribut) spustitelnosti.
Pro změnu příkazových práv slouží příkaz
chmod, vlastníka souboru je možné měnit
příkazem chown a skupinu uživatelů příkazem
chgrp. V grafických nástrojích se práva
většinou mění na kartě vlastností souboru či adresáře.
|
|
|
Zapomeňte na písmena!
Jestliže jste až do dnes pracovali výhradně v MS DOSu nebo
Widnows, čeká vás po spuštění Linuxu první velké překvapení: V
Linuxu totiž nenajdete starý dobrý disk C:, D: nebo X:. Linux
pracuje s pevnými disky úplně jinak. V Linuxu existuje vždy
právě jeden adresářový strom, který začíná v kořenovém
adresáři. Vy jako uživatel vůbec nemusíte poznat, že uvnitř v
počítači není jen jeden pevný disk, ale třeba celé diskové
pole. Jednotlivé disky je totiž možné připojit kamkoliv do
adresářového stromu.
Podobné zásady neplatí jen pro pevné disky, ale také pro
CD mechaniky, ZIP mechaniky nebo diskety. Tato zařízení se
většinou standardně připojují do adresáře
/mnt. CD mechaniku najdete na 95% v
adresáři /mnt/cdrom, disketovou mechaniku v
adresáři /mnt/floppy. Máte-li v počítači
navíc třeba šuplík s dalším pevným diskem, je možné, že pro něj
máte v adresáři /mnt další samostatný
adresář.
Ve velkých Unixových systémech často bývají domovské
adresáře uživatelů umístěny na samostatném disku. Na dalších
discích potom najdete vlastní systém nebo třeba webový
server. Má to své důvody: jestliže je z libovolného důvodu nutné
zasáhnout do systému a případně i formátovat systémový disk,
uživatelské adresáře zůstanou nedotčené. V takovém případě se
potom další disky nepřipojují do /mnt, ale
do adresáře /home.
Základním kamenem pro práci s disky je v Linuxu soubor
/etc/fstab a příkaz
mount. Příkaz slouží k připojování a
odpojování disků, soubor popisuje, jak a kam se mohou
nejrůznější disky připojovat. Je v něm například určeno, že
některé disky smí připojit pouze uživatel
root, nebo naopak to, že se disk připojí
automaticky ihned po startu systému.
Proč se nepřipojí vše automaticky po startu systému? Je to
proto, že obsah média se načítá v okamžiku, kdy je
připojováno. Chcete-li v Linuxu prohodit disketu v mechanice,
musíte původní disketu nejprve odpojit, vyndat, vložit novou a
znovu si disketu připojit. Jen tak uvidíte skutečně obsah nové
diskety. V grafických nástrojích pro správu disků je tento
problém často odstíněn, takže stačí vyměnit diskety a klepnout
myší na nějakou ikonu odpovídající disketové mechanice.
I když Linux nepoužívá pro názvy disků písmena, nějak si
je pojmenovávat musí. Musí přece rozlišit, který disk je pro
domovské adresáře a který pro systém. Pevné IDE disky se
pojmenovávají hda, hdb, hdc atd, podle pořadí, v jakém jsou
fyzicky zapojeny v počítači. (Např. máte-li jeden master a jeden
slave disk, bude master hda a slave hdb). Jsou-li disky
rozděleny do dalších oddílů - a to jsou vždy - rozlišují se
jednotlivé oddíly čísly. První oddíl na prvním pevném disku je
hda1, druhý hda2 atd. SCSI disky se označují buď sda,
sdb... nebo někdy také písmeny mda, mdb.
|
|
|
Balíčky
Jen málokdy se zajímavý soubor vejde na jednu disketu. I
proto vznikly nejrůznější metody, jak soubory komprimovat. V
Linuxu se ke komprimaci souborů používá program
gzip. Na rozdíl od Windows, do kterých si
podobný program musíte dokoupit, je gzip pochopitelně nedílnou
součástí systému. Balíčky zabalené tímto programem mají příponu
.gz a rozbalíte je ve všech distribucích
Linuxu bez vyjímky.
Často je v zazipovaném balíčku schovaný rovnou další
balíček - archiv vytvořený programem tar. Tento program původně
vznikl pro archivaci souborů na magnetické pásky. Na magnetické
pásky se zapisuje mnohem hůře než na disky: nemůžete na nich
přeskakovat z místa na místo jako na disku. Proto program tar
dokáže zabalit do jednoho souboru libovolný kousek adresářového
stromu. Proto se velmi často před vlastní komprimací soubory
zabalí pomocí programu tar. Díky tomu si komprimované a zabalené
soubory kdykoliv rozbalíte přesně ve stejné podobě, v jaké vám
je někdo zabalil. Proto se v archivech s programy tak často
setkáte se soubory s příponou .tar.gz nebo
.tar.zip
V Linuxu se dále setkáte s určitými speciálními balíčky,
které používají některé distribuce. Příkladem mohou být rpm
balíčky, které používá distribuce RedHat a všechny distribuce,
které z ní vycházejí. Umožňují velmi jednoduše přidávat a zase
ubírat programy. Uživatelé, kteří používají grafické rozhraní
GNOME, mohou s těmito balíčky dokonce pracovat v pěkném programu
GnoRPM.
|
|
Autorkou tohoto webu je LenkaKT, alias Lenka Kosková-Třísková. Bádám a vyučuji na TU Liberec. |
Poslední změna: 3. 3. 2011
|
|