Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verzePoslední revizeObě strany příští revize | ||
navody:fc5prirucka21 [2006/08/21 22:03] – macky | navody:fc5prirucka21 [2006/09/24 11:22] – macky | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | [[fc5prirucka|Hlavní stránka]] | ||
- | ===== 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 | ||
- | " | ||
- | |||
- | Příkazový řádek otevřete v grafickém prostředí Gnome pomocí nabídky //Aplikace -> Příslušenství -> Terminál// | ||
- | |||
- | **Poznámka: | ||
- | |||
- | ==== 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 " | ||
- | |||
- | 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ě " | ||
- | |||
- | 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, | ||
- | |||
- | 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ý, | ||
- | |||
- | df -h | ||
- | |||
- | která vypíše volné místo v kB/MB/GB. | ||
- | |||
- | ====Práce se soubory==== | ||
- | |||
- | Každý soubor a adresář ((Adresář je, pro někoho možná překvapivě, | ||
- | |||
- | === 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ář /// | ||
- | |||
- | cd /opt/games | ||
- | |||
- | Příkaz | ||
- | |||
- | cd sauerbraten | ||
- | |||
- | nás přesune do podadresáře // | ||
- | |||
- | === 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 / | ||
- | |||
- | === 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ů ((Včetně žádného znaku.)) lze vyjádřit pomocí hvězdičky (//*//), libovolný jeden znak pomocí otazníků (//?//), jeden znak ze skupiny znaků pomoci // | ||
- | |||
- | rm -ri / | ||
- | rm -ri / | ||
- | |||
- | === 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: | ||
- | 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ářů ((Příkaz sice nemůže fyzicky přesunout adresář, ale můžeho ho přejmenovat.)) ). 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: | ||
- | |||
- | === 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 " | ||
- | |||
- | Následující příkaz vyhledá všechny textové soubory začínající velkým písmenem v celém systému ((Adresář ///// je tzv. kořenovým adresářem. Všechny adresáře jsou podadresáři tohoto adresáře. Proto, dáme-li prohledat kořenový adresář, prohledáváme v podstatě celý počítač.)). | ||
- | |||
- | find / -name " | ||
- | |||
- | === 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: | ||
- | |||
- | === mc === | ||
- | //mc// je zkratka pro //Midnight Commander// | ||
- | |||
- | mc | ||
- | |||
- | **Poznámka: | ||
- | |||
- | 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 " | ||
- | |||
- | 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 " | ||
- | |||
- | 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 // | ||
- | |||
- | cat text.txt | grep " | ||
- | |||
- | 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 [[navody: | ||
- | Předpokládejme, | ||
- | |||
- | ls -la / | ||
- | |||
- | 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 ((Adresář by byl indikován znakem (//d//).)). Následující trojice znaků značí práva vlastníka souboru - jedná se o právo | ||
- | |||
- | === 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ů, | ||
- | |||
- | chmod ug+rw soubor | ||
- | |||
- | Druhá varianta zápisu využívá čísel. | ||
- | |||
- | ^ ^ čtení ^ zápis ^ spouštění ^ | ||
- | ^ vlastník | ||
- | ^ skupina | ||
- | ^ ostatní | ||
- | |||
- | 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 === | ||
- | Pomocí příkazu //umask// se nastavují implicitní práva pro nově vytvořené soubory. Syntaxe tohoto příkazu je podobná jako v případě //chmod// s číselnou notací. Zásadní rozdíl je v tom, že čísla neurčují práva, která se mají přidat ale naopak práva, která mají odebrána. Například | ||
- | |||
- | umask 027 | ||
- | |||
- | ponechává vlastníkovi všechna práva, skupině vlastníka pak práva čtení a spouštění a ostatním uživatelům jsou odebrána všechna práva.\\ | ||
- | Standardně jsou tato implicitní práva specifikována v souboru /// | ||
- | |||
- | |||
- | |||
- | |||
- | ==== Řízení procesů ==== | ||
- | Procesem budeme pro účely této kapitoly rozumnět jakýkoliv spuštěný program. | ||
- | |||
- | === ps === | ||
- | Pomocí příkazu //ps// získáte seznam všech spuštěných procesů | ||
- | |||
- | ps aux | ||
- | | ||
- | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND | ||
- | root | ||
- | root | ||
- | root | ||
- | root | ||
- | root | ||
- | root | ||
- | root 2045 0.0 0.8 11480 4636 ? S 20:24 0:00 python ./hpssd.py | ||
- | root 2057 0.0 0.5 | ||
- | postgres | ||
- | postgres | ||
- | postgres | ||
- | postgres | ||
- | postgres | ||
- | macky | ||
- | macky | ||
- | ... | ||
- | |||
- | Z výše uvedeného výpisu lze pro každý proces zjistit uživatele, který jej spustil (položka //USER//) a identifikační číslo procesu (položka //PID//). Vzhledem k tomu, že tento výpis můžeme být vcelku dlouhý, je vhodné použít také příkaz //less// popř. //grep//. Například seznam všech procesů spuštěných uživatelem macky bychom získali pomocí příkazu | ||
- | |||
- | ps aux | grep macky | ||
- | |||
- | === kill === | ||
- | Příkaz //kill// slouží k ukončení procesů. Jeho syntaxe je následující | ||
- | |||
- | kill pid_procesu | ||
- | |||
- | //PID// daného procesu lze získat pomocí příkazu | ||
- | |||
- | ps aux | ||
- | |||
- | Každý uživatel může " | ||
- | |||
- | ==== Spouštění příkazů ==== | ||
- | |||
- | === Spuštení vícero příkazů === | ||
- | Znak středník umožňuje spustit několik příkazů na sobě nezávisle v pořadí uvedeném v příkazové řádce. | ||
- | |||
- | cd /usr/sbin; ls -la | ||
- | |||
- | Tento zápis je ekvivalentní s | ||
- | |||
- | cd /usr/sbin | ||
- | ls -la | ||
- | |||
- | === Použití závorek a zpětného lomítka === | ||
- | Způsob, jakým příkazový řádek vyhodnocuje zadané příkazy, si v některých připadech může vynutit použití závorek popř. zpětného lomítka. Klasickým příkladem jsou mezery v názvech souborů a adresářů běžně používané v OS typu Windows. Jestliže budeme mít adresář //jmeno adresare// bude příkaz | ||
- | |||
- | cd jmeno adresare | ||
- | |||
- | interpretován stejně jako kdybychom zadali pouze | ||
- | |||
- | cd jmeno | ||
- | |||
- | Tento problém se dá vyřešit třemi způsoby. | ||
- | |||
- | cd 'jmeno adresare' | ||
- | cd "jmeno adresare" | ||
- | cd jmeno\ adresare | ||
- | |||
- | V prvním případě jednoduché uvozovky " | ||
- | |||
- | Mezi znaky interpretované příkazovou řádkou patří vedle mezery např. zástupné znaky //*// a //?//, ampersand //&//, znak " | ||
- | |||
- | === Apostrof === | ||
- | |||
- | Jestliže text uzavřeme do apostrofů, bude text zpracován jako příkaz a na jeho místo bude dosazen výstup tohoto příkazu. | ||
- | |||
- | pracovni_adresar=`pwd` | ||
- | echo $pracovni_adresar | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === Přesměrování výstupu === | ||
- | Každý program musí produkovat určitý výstup - v opačném případě by postrádal smysl. Například příkaz | ||
- | |||
- | ls -la | ||
- | |||
- | vypíše obsah pracovního adresáře na obrazovku. Ta je v tomto případě tzv. standardním výstupem. Kdybychom však chtěli výstup tohoto příkazu zapsat např. do souboru, museli bychom tento výstup přesměrovat. K tomu slouží znaky //>// a //>>// | ||
- | |||
- | ls -la > obsah_adresare.txt | ||
- | ls -la >> obsah_adresare.txt | ||
- | |||
- | Pomocí prvního příkazu vytvoříme soubor // | ||
- | |||
- | V některých případech se může být žádoucí výstup příkazu zahodit. V tomto případě přesměrujeme výstup do adresáře /// | ||
- | |||
- | ls -la > /dev/null | ||
- | |||
- | === Roury === | ||
- | Roura je mechanismus, | ||
- | |||
- | cat text.txt | grep Linux | ||
- | |||
- | Příkaz nalevo od " | ||
- | |||
- | ===== ===== | ||
- | |||
- | ** Poznámka: | ||
- | |||
- | man prikaz | ||
- | |||
- | ===== ===== | ||
- | [[fc5prirucka|Hlavní stránka]] |