Toto je starší verze dokumentu!
Základy příkazové řádky
I když již není znalost unixových příkazů pro správné soužití s Linuxem natolik důležitá jako dříve, není od věci osvojit si alespoň několik základních příkazů. Důvodem je, že
„klikací“ aplikace pro nastavení systému se mohou lišit pro jednotlivé verze distribuce. Příkazy však zůstavají neměnné. Navíc v případě, kdy budete nuceni pracovat např. v záchranném módu, budete odkázáni výhradně na příkazový řádek. Sečteno a podtrženo - znalost několika málo příkazů Vás nezabije, ale posílí (navíc zažije určitě řadu situací, kdy se Vám tato znalost bude navíc i hodit).
Příkazový řádek otevřete v grafickém prostředí Gnome pomocí nabídky Aplikace → Příslušenství → Terminál. V historii zadaných příkazů můžete listovat pomocí šipky nahoru a dolů. Dále je možné automaticky doplňovat názvy souborů a adresářů pomocí klávesy tabelator 1).
Poznámka: V následujícím textu budu zaměňovat pojmy příkazový řádek a terminál. Zde uvedené příkazy lze označit jako naprosté minimum příkazové řádky - seznam příkazů není ani zdaleka vyčerpávající.
Uživatelé
passwd
Příkaz passwd umožňuje uživateli změnu hesla. Jinému uživateli může heslo změnit pouze superuživatel.
Své heslo můžete změnit pomocí
passwd
Superuživatel pak může změnit heslo jiného uživatele pomocí
passwd jmeno_uzivatele
su
su je příkazem pro změnu uživatele. Klasickým případem je, když v rámci instalace aplikace popř. úpravě nastavení systému potřebuje získat práva superuživatele. Po zadání příkazu su bude vyzvání k zadání hesla daného uživatele (s vyjímkou případů, kdy tento příkaz spouštíte jako superuživatel).
Změnu uživatele na superuživatele provedeme pomocí
su
popř.
su root
Jestliže se chceme změnit svou „identitu“ na jiného uživatele, použijeme následující syntaxi
su jmeno_uzivatele
su můžete také spustit ve tvaru
su - jmeno_uzivatele
Rozdíl oproti výše uvedené syntaxi je v tom, že se Vám nastaví kompletní shell prostředí daného uživatele.
Základní informace o systému
uname
uname slouží ke zjištění údajů o systému, ke kterému jste momentálně přihlášeni.
uname -a
whoami
whoami vypíše jméno uživatele, který momentálně „ovládá“ příkazový řádek.
whoami
free
free vypíše informace o využití fyzické operační paměti a tzv. swapu. Údaje zde uváděné jsou v násobcích 1kB.
free
w
w zobrazí základní informace o uživatelích přihlášených do systému a o aplikacích, které tito uživatelé spustili. Dále lze pomocí tohoto příkazu získat informace o čase a zatížení CPU za poslední 1, 5 a 15 minut.
w
df
df slouží k získávání informací o místě připojení jednotlivých diskových oddílů a míře zaplnění jim přiděleného prostoru.
df
Informace zde uváděné jsou v tzv. blocích, které mají standardně velikost 1kB. Pokud Vám tento formát přijde nepřehledný, zkuste použít syntaxi
df -h
která vypíše volné místo v kB/MB/GB.
Práce se soubory
Každý soubor a adresář 2) má svého vlastníka. Standardně je vlastníkem souboru uživatel, který ho vytvořil. Soubory pak lze vytvářet pouze v adresářích, kde k tomu má uživatel oprávnění. Toto pravidlo neplatí pouze pro tzv. superuživatele 3) - ten může přistupovat ke všem souborům a adresářům bez omezení. Více o přístupových právech viz. kapitola Definování přístupových práv.
cd
cd slouží ke změně pracovního adresáře. Pracovním adresářem se rozumí adresář, ve kterém se uživatel momentálně nachází a k jehož souborům hodlá primárně přistupovat.
Následujícím příkazem nastavníme adresář /opt/games jako pracovní.
cd /opt/games
Příkaz
cd sauerbraten
nás přesune do podadresáře sauerbraten, který se nachází v aktuální pracovním adresáři.
pwd
pwd slouží k zjištění aktuálního pracovního adresáře.
pwd
ls
Pomocí ls lze získat obsah adresáře. Maximální dostupnou informaci získáme pomocí přepínačů -la.
ls -la /opt
du
du vypíše množství diskového prostoru alokovaného pro zvolený soubor či adresář.
Příkaz
du /opt
vypíše seznam souborů a adresářů obsažených v adresáři /opt spolu s údajem o velikosti diskového prostoru, který zabírají.
Příkaz
du -s /opt
naproti tomu vypíše pouze jedno číslo odpovídající velikosti diskového prostoru, který zabírá adresář /opt včetně podadresářů a souborů.
file
file slouží k zjištění typu (datového formátu) souboru.
file /opt/text.txt
rm
Příkaz rm se používá pro odstranění souborů, souborových linků a celé adresářové struktury.
rm -ri /opt/games
Při specifikaci souborů je možné použít tzv. wild cards (zástupné znaky). Libovolný počet znaků 4) lze vyjádřit pomocí hvězdičky (*), libovolný jeden znak pomocí otazníků (?), jeden znak ze skupiny znaků pomoci [prvni_znak, druhy_znak, treti_znak, …].
rm -ri /opt/games/*.txt rm -ri /opt/games/[A,B,C]*?
rmdir
rmdir je příkaz, kterým se mažou adresáře.
rmdir /opt/games
Stejně jako rm podporuje rmdir tzv. zástupné znaky.
mkdir
mkdir slouží k vytvoření nových adresářů.
mkdir /opt/games
Poznámka: Existuje také explicitní příkaz pro vytvoření souboru
touch jmeno_souboru
Soubor je ale možné vytvořit i pomocí textového editoru nebo přesměrováním výstupu jiného souboru. Klasickým případem je uložení výstupu manuálových stránek do souboru.
man mkdir > manualove_stranky_mkdir.txt
cp
cp slouží ke kopírování souborů.
cp zdrojove_soubory cilovy_soubor_nebo_adresar
Pomocí výše uvedené syntaxe překopírujeme všechny soubory do cílového adresáře. Příkaz cp podporuje také zástupné znaky.
mv
mv slouží k přesunu / přejmenování souborů (včetně adresářů 5) ). Příkaz mv podporuje zástupné znaky.
mv -f zdrojovy_soubor cilovy_soubor mv -f zdrojovy_adresar cilovy_adresar mv -f seznam_zdrojovych_souboru cilovy_adresar
Poznámka: Přepínač -f přepíše případné existující soubory.
find
Pomocí find je možné nalézt umístění zvoleného souboru či adresáře. Tento příkaz podporuje zástupné znaky.
find adresar_k_prohledani -name "jmeno_hledaneho_souboru_nebo_adresare"
Následující příkaz vyhledá všechny textové soubory začínající velkým písmenem v celém systému 6).
find / -name "[A-Z]*.txt"
ln
ln vytváří tzv. linky na soubory. Linky, zjednodušeně řečeno, odkazují na soubory. Rozlišujeme dva typy linků - pevné a symbolické.
Symblický link je soubor, který odkazuje na jiný soubor. Pokud provádíme např. editaci symbolického linku, provádíme v skutečnosti editaci souboru, na který tento link odkazuje.
Pevný link je naproti tomu odkazem přímým - není tvořen samostatným souborem ale pouze odkazem v adresáři. Navíc platí omezení, že soubor, na který se pevný link odkazuje, musí být umístěn na stejném diskovém oddílu.
Symbolický link vytvoříme pomocí
ln -s zdrojovy_soubor nazev_linku
pevný link pak pomocí
ln zdrojovy_soubor nazev_linku
Poznámka: Výhoda linků je zřejmá - umožnují elegantně obcházet potřebu kopírování souborů. To přispívá k úspoře místa na disku a konzistentnosti systému.
mc
mc je zkratka pro Midnight Commander. Nejedná se příkaz, ale o aplikaci - klon známého Northon Commander z dob nadvlády MS-DOS. Tato aplikace umožňuje vytváření, přesun, přejmenování a mazání souborů a adresářů. mc má také vestavěný editor pro modifikaci souborů, a obsahuje jednoduchého FTP klienta.
mc
Poznámka: Jestliže mc není nainstalován, lze ho snadno přídat jako superuživatel pomocí
yum -y install mc
Výpis obsahu souborů
cat
cat slouží k výpisu obsahu souboru.
Výpis obsahu souboru je možné přesměrovat do nového souboru.
cat text.txt > novy_textovy_soubor.txt
more
more slouží podobně jako cat k výpisu obsahu souborů. Narozdíl od cat však more obsah souboru „rozobrazovkuje“. To znamená, že obsah souboru nevypíše najednou, ale rozdělí se. Na obrazovku vypíše vždy část textu a výpis pokračuje až po stisku klávesy. Tento příkaz se používá zejména při prohlížení dlouhých textových souborů.
more text.txt
less
Ačkoliv je název možná trochu matoucí, umí toho příkaz less více než příkaz more. Příkaz less stejně jako more provede „rozobrazovkování“ výpisu obsahu souboru, avšak tento výpis je možné volně procházet pomocí kláves Page Up a Page Down.
less text.txt
grep
grep slouží k vyhledávání textových řetězců v souborech. Velice často se pojí s výše uvedenými příkazy. Následují příkaz nám vypíše všechny řádky souboru text.txt, které obsahují sekvenci znaků inux.
cat text.txt | grep "inux"
Tento příkaz by např. vypsal všechny řádky, kde figuruje slovo Linux nebo linux.
Definování přístupových práv
Jak již bylo zmíměno v kapitole Práce se soubory, každý soubor a adresář má svého vlastníka. Ten pak určuje jaké operace mohou s těmito soubory / adresáři provádět ostatní uživatelé. Standardně se jedná v případě souborů o právo čtění (read), zápisu (write) a spouštění (execute), v případě adresáře pak o právo prohlížení obsahu (ekvivalent práva čtení), manipulace se soubory (ekvivalent práva zápisu) a právo zobrazovat informace o souborech (ekvivalent práva spouštění)7). Při přidělování práv pak rozlišujeme následující tři skupiny uživatelů: (a) vlastníka souboru / adresáře, (b) tzv. skupinu uživatele a © ostatní uživatele. Práva může jednotlivým skupinám přidělit vlastník 8). Přehled práv, která se váží k vybranému souboru / adresáři lze získat pomocí příkazu ls.
Předpokládejme, že příkaz
ls -la /home/macky/text.txt
zobrazil výpis
- rwxr-xr-x 1 macky skupina 23056 čec 26 23:10 Derivates.tex
První znak pomlčka (-) značí, že se jedná o soubor 9). Následující trojice znaků značí práva vlastníka souboru - jedná se o právo čtení (read), zápisu (write) a spouštění (execute). Další trojice definuje práva skupiny a to jmenovitě právo čtení a spouštění. Ostatním uživatelům byla opět přidělena práva čtení a spouštění. Dále nám výpis říká, že vlastníkem souboru je uživatel macky, který náleží do skupiny skupina.
chgrp
Příkaz chgrp slouží ke změně vlastníků specifikovaných souborů / adresářů. Změnu skupiny může provést pouze vlastník popř. superuživatel. Tento příkaz podporuje zástupné znaky.
chgrp nova_skupina jmeno_souboru_nebo_adresar
chown
Příkaz chown je podobný výše uvedenému příkazu chgrp s tím rozdílem, že slouží ke změně vlastníka souboru / adresáře.
chown novy_vlastnik jmeno_souboru_nebo_adresare
chmod
Pomocí příkazu chmod lze měnit měnit práva přiřazená jednotlivým skupinám. Je možné použít dva způsoby zápisu.
V prvním případě nejprve specifikujeme skupinu uživatelů, která následuje znak plus (+) popř. mínus (-) následovaný výčtem práv, která mají být přidána popř. odebrána. Co se skupin uživatelů týče, používají se písmena u (user) pro označení vlastníka, g (group) pro označení skupiny a o (other) pro označení ostatních uživatelů. Práva pak označujeme písmeny r (read) pro čtení, w (write) pro zápis a x (execute) pro spuštění. Následující příkaz přidá vlastníkovi a jeho skupině práva čtení a zápisu pro soubor soubor, který se nachází v pracovním adresáři.
chmod ug+rw soubor
Druhá varianta zápisu využívá čísel.
čtení | zápis | spouštění | |
---|---|---|---|
vlastník | 400 | 200 | 100 |
skupina | 40 | 20 | 10 |
ostatní | 4 | 2 | 1 |
Výsledná práva jsou dána součtem čísel uvedených v tabulce. Například příkaz
cmod 750 soubor
nastaví vlastníkovi všechna práva, skupině vlastníka právo čtení a spouštění. Ostatním uživatelům nebyla přidělena žádná práva. Výsledné číslo 750 je tedy součtem čísel 400, 200, 100, 40 a 10.
umask
Řízení procesů
bg
fg
jobs
kill
nice
ps
Poznámka: Bližší informace o výše uváděných příkazech můžete získat pomocí
man prikaz