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 | Poslední revizeObě strany příští revize | ||
navody:f7prompt [2007/08/26 19:55] – covex | navody:f7prompt [2007/09/02 22:34] – macky | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | [[navody: | ||
- | |||
- | ===== Základy příkazové řádky ===== | ||
- | {{: | ||
- | I když již není znalost unixových příkazů pro soužití s //Linux//em 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 | ||
- | " | ||
- | |||
- | V následujícím textu budeme zaměňovat pojmy příkazový řádek a terminál. Příkazovým řádkem / terminálem budeme rozumět rozhraní, pomocí něhož zadává uživatel příkazy. Dalším pojmem, se kterým se zde můžete setkat, je //shell//. //shell// je zjednodušeně řečeno software, který umožňuje komunikaci mezi uživatelem a jádrem //OS Linux// - je totiž zodpovědný za interpertaci příkazů zadávaných uživatelem prostřednictvím příkazového řádku. //shell// tak brání tomu, aby uživatelé přistupovali přímo k jádru, což lze chápat do jisté míry jako bezpečnostní prvek.\\ | ||
- | Pro //OS Linux// bylo vyvinuto několik // | ||
- | |||
- | Dalším hojně používaným pojmem je příkaz. Příkaz není v podstatě nic jiného než soubor, který má nastaveno právo spouštění (viz. kapitola [[navody: | ||
- | |||
- | ls -la | ||
- | |||
- | Je však možné také zadat kompletní cestu. | ||
- | |||
- | /bin/ls -la | ||
- | |||
- | V případě, že adresář, ve kterém se nachází daný příkaz, není definován v proměnné '' | ||
- | |||
- | S pojmem příkaz je velice často spojován pojem přepínač. Přepínač lze chápat jako fakultativní parametr, který modifikuje chování příkazu. Jednotlivé přepínače lze velice často mezi sebou kombinovat. Např. v případě příkazu '' | ||
- | |||
- | **Poznámka: | ||
- | |||
- | ==== Terminál ==== | ||
- | Příkazový řádek otevřete v grafickém prostředí //Gnome// pomocí nabídky //Aplikace -> Systémové nástroje -> 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 (stačí napsat část názvu souboru nebo adresáře a stisknout klávesu tabelatoru).\\ | ||
- | Chcete-li zamezit pípání terminálu, klikněte v okně terminálu na //Upravit -> Aktuální profil...// a odškrtněte položku //pípání terminálu// | ||
- | Chcete-li terminál otevřít pomocí nabídky, kterou získáte poklepáním na plochu, zadejte do příkazové řádky | ||
- | |||
- | yum -y install nautilus-open-terminal | ||
- | |||
- | Terminál pak otevřete kliknutím pravého tlačítka myši a výběrem //Otevřít terminál// z předložené nabídky. | ||
- | |||
- | ==== Obecné informace === | ||
- | |||
- | === Jména souborů a adresářů === | ||
- | |||
- | Unixové systémy včetně //Linux//u rozlišují velikost písmen v názvech souborů a adresářů. '' | ||
- | \\ | ||
- | Při volbě jmen souborů a adresářů je také vhodné se vyvarovat českých znaků, mezer a jiných speciálních znaků. Více o problematice těchto znaků v názvech souborů a adresárů naleznete v kapitole //Použití závorek a zpětného lomítka// | ||
- | |||
- | === Proměnná PATH === | ||
- | Jak již bylo zmíněno v úvodu, aby bylo možné spustit daný příkaz pouze zadáním jména bez specifikování celé cesty, musí být adresář, ve kterém je příkaz uložen, definován v proměnné '' | ||
- | |||
- | echo $PATH | ||
- | | ||
- | / | ||
- | |||
- | Na výše uvedeném výpisu je vidět, že proměnná '' | ||
- | V případě, že soubor sice existuje, avšak jeho adresář není specifikován v proměnné '' | ||
- | |||
- | /bin/ls -la | ||
- | |||
- | Druhou možností je pak přidat daný adresář do proměnné '' | ||
- | Adresář ''/ | ||
- | |||
- | $PATH = echo $PATH:/ | ||
- | |||
- | === Spuštení vícero příkazů === | ||
- | Standardně zapisujeme jeden příkaz na jeden řádek. | ||
- | |||
- | cd /usr/sbin | ||
- | ls -la | ||
- | |||
- | Znak středník '';'' | ||
- | |||
- | cd /usr/sbin; ls -la | ||
- | |||
- | Tento zápis je ekvivalentní s výše uvedeným. | ||
- | |||
- | === Zástupné znaky === | ||
- | |||
- | Zástupné znaky (tzv. // | ||
- | Uvažujme soubory '' | ||
- | |||
- | ls -la text.txt | ||
- | ls -la text.tex | ||
- | ls -ls latex.tex | ||
- | |||
- | nebo jeden příkaz. | ||
- | |||
- | ls -la *tex*.t* | ||
- | |||
- | Zástupný znak hvězdička '' | ||
- | |||
- | ls -la text.t?? | ||
- | |||
- | Libovolný znak z vybrané skupiny znaků lze zapsat pomocí dvojice hranatých závorek '' | ||
- | |||
- | ls -la text_[a, | ||
- | |||
- | vypíše údaje o souborech '' | ||
- | |||
- | ls -la text_[A-B].txt | ||
- | |||
- | zase vypíše údaje o souborech '' | ||
- | |||
- | ls -la text_[0-9].txt | ||
- | |||
- | Chcete-li získat údaje pro všechny soubory, použijte syntaxi | ||
- | |||
- | ls -la text_[0-9, a-z, A-Z].txt | ||
- | |||
- | |||
- | Informace o všech souborech kromě souboru '' | ||
- | |||
- | ls -la text_[!2].txt | ||
- | |||
- | === Použití závorek a zpětného lomítka === | ||
- | Způsob, jakým //shell// vyhodnocuje zadané příkazy, si v některých případech 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 budete mít adresář '' | ||
- | |||
- | cd jmeno adresare | ||
- | |||
- | interpretován stejně jako kdybyste 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é //shell//em patří vedle mezery např. zástupné znaky, ampersand ''&'', | ||
- | |||
- | === Apostrof === | ||
- | |||
- | Jestliže text uzavřete 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 === | ||
- | Řada programů produkuje určitý výstup. Například příkaz | ||
- | |||
- | ls -la | ||
- | |||
- | vypíše na obrazovku obsah pracovního adresáře. Ta je v tomto případě tzv. standardním výstupem. Kdybyste však chtěli výstup tohoto příkazu zapsat do souboru, museli byste tento výstup přesměrovat. K tomu slouží znaky ''>'' | ||
- | |||
- | ls -la > obsah_adresare.txt | ||
- | ls -la >> obsah_adresare.txt | ||
- | |||
- | Pomocí prvního příkazu vytvoříte soubor '' | ||
- | |||
- | V některých případech může být žádoucí výstup příkazu zahodit. V tomto případě přesměrujte výstup do adresáře ''/ | ||
- | |||
- | ls -la > /dev/null | ||
- | |||
- | === Roury === | ||
- | Roura je mechanismus, | ||
- | |||
- | cat text.txt | grep Linux | ||
- | |||
- | Příkaz nalevo od " | ||
- | |||
- | === Příkazy spouštěné na pozadí === | ||
- | Standardně jsou příkazy spouštěné na popředí. To znamená, že příkazový řádek je příkazem " | ||
- | |||
- | sleep 60& | ||
- | |||
- | Narozdíl od výše uvedené syntaxe, zablokuje příkaz | ||
- | |||
- | sleep 60 | ||
- | |||
- | příkazový řádek na 60 sekund. Po tuto dobu nemůže uživatel zadávat další příkazy a musí čekat, než příkaz skončí. | ||
- | |||
- | ==== Uživatelé ==== | ||
- | |||
- | V //Linux//u rozlišujeme dvě základní kategorie úživatelů - běžného uživatele a tzv. superuživatele (root).\\ | ||
- | Účet superuživatele slouží pro správu systému. Tento uživatel tak může bez omezení přistupovat ke všem souborům, adresářům a procesům((Proces lze zjednodušeně chápat jako spuštěnou aplikaci.)). Jeho práva jsou " | ||
- | Naproti tomu běžní uživatelé mohou v systému vykonávat pouze takové činnosti, které jim dovolují přidělená práva. Standardně tato práva spravuje právě superuživatel.\\ | ||
- | |||
- | Každý z uživatelů patří minimálně do jedné skupiny uživatelů, | ||
- | |||
- | === useradd === | ||
- | Příkaz '' | ||
- | |||
- | / | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === userdel === | ||
- | '' | ||
- | |||
- | / | ||
- | |||
- | odstraníte ze systému uživatele '' | ||
- | |||
- | === groupadd === | ||
- | Příkaz '' | ||
- | |||
- | / | ||
- | |||
- | === groupdel === | ||
- | '' | ||
- | |||
- | cat /etc/group | grep skupina | ||
- | | ||
- | skupina: | ||
- | |||
- | Seznam uživatelů této skupiny získáme pomocí | ||
- | |||
- | cat /etc/passwd | grep 501 | ||
- | | ||
- | uzivatel: | ||
- | |||
- | Nejprve je třeba odstranit uživatele, po té je možné odstranit skupinu. | ||
- | |||
- | / | ||
- | / | ||
- | |||
- | === passwd === | ||
- | Příkaz '' | ||
- | |||
- | 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 === | ||
- | '' | ||
- | |||
- | Změnu uživatele na superuživatele provedete pomocí | ||
- | |||
- | su | ||
- | |||
- | popř. | ||
- | |||
- | su root | ||
- | |||
- | Jestliže chcete změnit svou " | ||
- | |||
- | su jmeno_uzivatele | ||
- | |||
- | '' | ||
- | |||
- | 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 (tj. včetně případných proměnných a dalších vlastností). | ||
- | |||
- | ==== Základní informace o systému ==== | ||
- | |||
- | === uname === | ||
- | '' | ||
- | |||
- | uname -a | ||
- | | ||
- | Linux localhost.localdomain 2.6.17-1.2139_FC5 #1 Fri Jun 23 12:40:16 EDT 2006 i686 athlon i386 GNU/Linux | ||
- | |||
- | === whoami === | ||
- | '' | ||
- | |||
- | whoami | ||
- | | ||
- | macky | ||
- | |||
- | === hostname === | ||
- | '' | ||
- | |||
- | hostname | ||
- | | ||
- | localhost.localdomain | ||
- | |||
- | === free === | ||
- | '' | ||
- | |||
- | free | ||
- | | ||
- | Mem: 515696 | ||
- | -/+ buffers/ | ||
- | Swap: 0 0 0 | ||
- | |||
- | === w === | ||
- | '' | ||
- | |||
- | w | ||
- | | ||
- | 18:15:43 up 1:11, 3 users, | ||
- | USER | ||
- | macky :0 | ||
- | macky pts/1 :0.0 | ||
- | macky pts/2 :0.0 | ||
- | |||
- | === df === | ||
- | '' | ||
- | |||
- | df | ||
- | | ||
- | Filesystem | ||
- | / | ||
- | tmpfs | ||
- | / | ||
- | / | ||
- | / | ||
- | |||
- | Informace zde uváděné jsou v tzv. blocích, které mají standardně velikost 1//kB//. Pokud Vám tento formát přijde nepřehledný, | ||
- | |||
- | df -h | ||
- | | ||
- | Filesystem | ||
- | / | ||
- | tmpfs | ||
- | / | ||
- | / | ||
- | / | ||
- | | ||
- | která vypíše volné místo v // | ||
- | |||
- | **Poznámka: | ||
- | |||
- | ====Práce se soubory==== | ||
- | |||
- | Každý soubor a adresář((Adresář je, pro někoho možná překvapivě, | ||
- | |||
- | === cd === | ||
- | '' | ||
- | Následujícím příkazem nastavíte adresář ''/ | ||
- | |||
- | cd /opt/games | ||
- | |||
- | Příkaz | ||
- | |||
- | cd sauerbraten | ||
- | |||
- | Vás přesune do podadresáře '' | ||
- | |||
- | V prvním zápise je použita tzv. absolutní cesta k adresáři, v druhém pak cesta relativní. Absolutní cesta vždy začíná lomítkem ''/'', | ||
- | |||
- | === pwd === | ||
- | '' | ||
- | |||
- | pwd | ||
- | | ||
- | / | ||
- | |||
- | === ls === | ||
- | Pomocí '' | ||
- | |||
- | ls -la /opt | ||
- | | ||
- | drwxr-xr-x | ||
- | drwxr-xr-x 24 root root 4096 Aug 27 17:04 .. | ||
- | drwx------ | ||
- | drwxrwxrwx | ||
- | |||
- | První blok znaků označuje typ souboru((Klasické soubory jsou označeny pomlčkou '' | ||
- | |||
- | === du === | ||
- | '' | ||
- | |||
- | Příkaz | ||
- | |||
- | du /home/macky | ||
- | | ||
- | ... | ||
- | 4128 / | ||
- | ... | ||
- | 51900 / | ||
- | ... | ||
- | |||
- | vypíše seznam souborů a adresářů obsažených v adresáři ''/ | ||
- | |||
- | du -h /home/macky | ||
- | | ||
- | ... | ||
- | 4.1M / | ||
- | ... | ||
- | 51M / | ||
- | ... | ||
- | |||
- | Příkaz | ||
- | |||
- | du -s /home/macky | ||
- | |||
- | naproti tomu vypíše pouze jedno číslo odpovídající velikosti diskového prostoru, který zabírá adresář ''/ | ||
- | |||
- | du -sh /home/macky | ||
- | | ||
- | 566M /home/macky | ||
- | |||
- | === file === | ||
- | '' | ||
- | |||
- | file / | ||
- | | ||
- | text.txt: ASCII text | ||
- | |||
- | === rm === | ||
- | Příkaz '' | ||
- | |||
- | rm -ri /opt/games | ||
- | |||
- | Při specifikaci souborů je možné použít zástupné znaky. | ||
- | |||
- | rm -ri / | ||
- | rm -ri / | ||
- | |||
- | === rmdir === | ||
- | '' | ||
- | |||
- | rmdir /opt/games | ||
- | |||
- | Stejně jako '' | ||
- | |||
- | === touch === | ||
- | Příkaz '' | ||
- | |||
- | touch text.txt | ||
- | |||
- | **Poznámka: | ||
- | |||
- | man rmdir > manualove_stranky_mrdir.txt | ||
- | |||
- | === mkdir === | ||
- | '' | ||
- | |||
- | mkdir /opt/games | ||
- | |||
- | === cp === | ||
- | |||
- | '' | ||
- | |||
- | 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 '' | ||
- | |||
- | === mv === | ||
- | '' | ||
- | |||
- | mv -f zdrojovy_soubor cilovy_soubor | ||
- | mv -f zdrojovy_adresar cilovy_adresar | ||
- | mv -f seznam_zdrojovych_souboru cilovy_adresar | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === find === | ||
- | Pomocí '' | ||
- | |||
- | 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ář ''/'' | ||
- | |||
- | find / -name " | ||
- | |||
- | Jestliže chcete omezit vyhledávání na soubory, které někdo modifikoval před '' | ||
- | |||
- | find / -atime pocet_dnu -name " | ||
- | |||
- | Jestliže chcete omezit vyhledávání na soubory, ke kterým někdo přistupoval před '' | ||
- | |||
- | find / -mtime pocet_dnu -name " | ||
- | |||
- | === locate === | ||
- | Příkaz '' | ||
- | |||
- | locate [A-Z]*.txt | ||
- | |||
- | |||
- | Databázi je pak možné aktualizovat z účtu superuživatele pomocí příkazu | ||
- | |||
- | updatedb | ||
- | |||
- | === ln === | ||
- | '' | ||
- | Symbolický link je položka v adresáři, která obsahuje cestu k souboru popř. adresáři, na který se odkazuje. Pokud tedy např. provádíte " | ||
- | Pevný link je odkazem přímým - není tvořen samostatným souborem ale pouze odkazem v adresáři. Pevný link může odkazovat pouze na soubor a děje se tak nikoliv pomocí cesty ale prostřednictvím tzv. // | ||
- | |||
- | Nastavením práv uživatele k linku nedochází automaticky k nastavení práv k příslušnému souboru. Práva je třeba nastavit zvlášť.\\ | ||
- | |||
- | Symbolický link vytvoříte pomocí | ||
- | |||
- | ln -s zdrojovy_soubor nazev_linku | ||
- | |||
- | pevný link pak pomocí | ||
- | |||
- | ln zdrojovy_soubor nazev_linku | ||
- | |||
- | Výhoda linků je zřejmá - umožnují elegantně obcházet potřebu kopírování souborů, jestliže je potřebujete na " | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === mc === | ||
- | '' | ||
- | |||
- | mc | ||
- | |||
- | **Poznámka: | ||
- | |||
- | yum -y install mc | ||
- | |||
- | {{ navody: | ||
- | |||
- | ==== Výpis obsahu souborů ==== | ||
- | |||
- | === cat === | ||
- | '' | ||
- | |||
- | cat text.txt | ||
- | |||
- | Výpis obsahu souboru je možné přesměrovat do nového souboru. | ||
- | |||
- | cat text.txt > novy_textovy_soubor.txt | ||
- | |||
- | === more === | ||
- | '' | ||
- | |||
- | more text.txt | ||
- | |||
- | === less === | ||
- | Ačkoliv je název možná trochu matoucí, umí toho příkaz '' | ||
- | |||
- | less text.txt | ||
- | |||
- | ==== Práce s textem ==== | ||
- | |||
- | === grep === | ||
- | '' | ||
- | |||
- | Následující příkaz vypíše všechny řádky souboru '' | ||
- | |||
- | cat text.txt | grep inux | ||
- | |||
- | Jestliže použijete přepínač '' | ||
- | |||
- | cat text.txt | grep -v inux | ||
- | |||
- | Počet řádek, které obsahují hledaný řetězec, získáte pomocí přepínače '' | ||
- | |||
- | cat text.txt | grep -c inux | ||
- | |||
- | Pro jmenný seznam souborů, které obsahují alespoň jednou hledaný řetězec, použijte přepínač '' | ||
- | |||
- | grep -l *.txt | ||
- | |||
- | Pomocí přepínače '' | ||
- | |||
- | cat text.text | grep -i inux | ||
- | |||
- | === head === | ||
- | '' | ||
- | |||
- | head -pocet_radku text.txt | ||
- | |||
- | === tail === | ||
- | '' | ||
- | |||
- | tail -pocet_radku text.txt | ||
- | |||
- | === cut === | ||
- | '' | ||
- | |||
- | Uvažujme následující soubor '' | ||
- | |||
- | Josef; | ||
- | Jan; | ||
- | Petr; | ||
- | |||
- | Pomocí příkazu | ||
- | |||
- | cut -c5 text.txt | ||
- | |||
- | získáme z každé řádky 5. znak. Příkazem | ||
- | |||
- | cut -c1,3,5 text.txt | ||
- | |||
- | pak vyberete z každé řádky 1., 3. a 5. znak. Sekvenci 1. až 5. znaku z každého řádku lze získat pomocí | ||
- | |||
- | cut -c1-5 text.txt | ||
- | |||
- | Budeme-li chtít pole definovat pomocí oddělovače '';'', | ||
- | |||
- | cut -d';' | ||
- | |||
- | **Poznámka: | ||
- | |||
- | Jestliže v daném souboru chcete zpracovat pouze řádky, které obsahují oddělovač, | ||
- | |||
- | cut -s -d';' | ||
- | |||
- | === join === | ||
- | Příkaz '' | ||
- | Uvažujme soubor '' | ||
- | |||
- | Josef; | ||
- | Jan; | ||
- | Petr; | ||
- | |||
- | a soubor '' | ||
- | |||
- | Petr; | ||
- | Pavel; | ||
- | |||
- | Výsledkem příkazu | ||
- | |||
- | join text1.txt text2.txt > text.txt | ||
- | |||
- | bude soubor '' | ||
- | |||
- | Petr; | ||
- | |||
- | === tr === | ||
- | '' | ||
- | |||
- | Uvažujme soubor '' | ||
- | |||
- | Josef; | ||
- | Jan; | ||
- | Petr; | ||
- | |||
- | Příkaz | ||
- | |||
- | tr JNPBDO jnpbdo < text1.txt > text2.txt | ||
- | |||
- | vytvoří soubor '' | ||
- | |||
- | josef; | ||
- | jan; | ||
- | petr; | ||
- | |||
- | Systematičtější řešení tohoto problému přestavuje příkaz | ||
- | |||
- | tr [A-Z] [a-z] < text1.txt > text2.txt | ||
- | |||
- | Jestliže chcete namísto záměny znaků provést jejich výmaz, stačí použít přepínač '' | ||
- | |||
- | tr -d ';' | ||
- | | ||
- | **Poznámka: | ||
- | |||
- | === wc === | ||
- | Příkaz '' | ||
- | |||
- | wc -c text.txt | ||
- | | ||
- | 25 | ||
- | |||
- | === comm === | ||
- | '' | ||
- | |||
- | comm text1.txt text2.txt | ||
- | |||
- | Jestliže chcete potlačit výstup některého ze sloupců, použijte jako přepínač jeho pořadové číslo. | ||
- | |||
- | comm -1 -2 text1.txt text2.txt | ||
- | |||
- | === sort === | ||
- | '' | ||
- | |||
- | sort pripadne_prepinace nazev_souboru | ||
- | |||
- | kde '' | ||
- | |||
- | Níže uvedená tabulka uvádí seznam nejdůležitějších přepínačů příkazů '' | ||
- | |||
- | ^ Přepínač | ||
- | | bez přepínače | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | sort -dfr text.txt | ||
- | sort -t';' | ||
- | sort -m text1.txt text2.txt | ||
- | |||
- | === uniq === | ||
- | |||
- | '' | ||
- | |||
- | Příkaz | ||
- | |||
- | sort text.txt | uniq | ||
- | |||
- | vypíše obsah souboru '' | ||
- | |||
- | Příkaz | ||
- | |||
- | sort text.txt | uniq -u | ||
- | |||
- | výpíše jedinečné řádky souboru '' | ||
- | |||
- | Příkaz | ||
- | |||
- | sort text.txt | uniq -d | ||
- | |||
- | naopak vypíše duplicitní řádky (každý duplicitní řádek pouze jednou), které jsou obsaženy v souboru '' | ||
- | |||
- | Pomocí přepínače '' | ||
- | |||
- | sort text.txt | uniq -c | ||
- | |||
- | ==== 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 '' | ||
- | |||
- | === chgrp === | ||
- | Příkaz '' | ||
- | |||
- | chgrp nova_skupina jmeno_souboru_nebo_adresar | ||
- | |||
- | === chown === | ||
- | Příkaz '' | ||
- | |||
- | chown novy_vlastnik jmeno_souboru_nebo_adresare | ||
- | |||
- | === chmod === | ||
- | Pomocí příkazu '' | ||
- | V prvním případě nejprve specifikujete skupinu uživatelů, | ||
- | Následující příkaz přidá vlastníkovi a jeho skupině práva čtení a zápisu pro soubor '' | ||
- | |||
- | 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 | ||
- | |||
- | chmod 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 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. Každému procesu jsou pak jádrem přiřazovány systémové zdroje (tj. procesor a paměť). | ||
- | |||
- | === ps === | ||
- | Pomocí příkazu '' | ||
- | |||
- | 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ůže být vcelku dlouhý, je vhodné použít také příkaz '' | ||
- | |||
- | ps aux | grep macky | ||
- | |||
- | === top === | ||
- | |||
- | Dalším z příkazů, který souvisí s procesy, je '' | ||
- | |||
- | top | ||
- | |||
- | === kill === | ||
- | Příkaz '' | ||
- | |||
- | kill pid_procesu | ||
- | |||
- | //PID// daného procesu lze získat pomocí příkazu | ||
- | |||
- | ps aux | ||
- | |||
- | Každý uživatel může " | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === nice a renice === | ||
- | Systémové prostředky (např. procesorový čas a paměť) jsou " | ||
- | |||
- | Pomocí příkazů '' | ||
- | |||
- | Běžný uživatel může " | ||
- | |||
- | Pomocí příkazu '' | ||
- | |||
- | nice -n 5 / | ||
- | |||
- | Prioritu již spuštěného přikazu lze změnit pomocí '' | ||
- | |||
- | renice 10 pid_procesu | ||
- | |||
- | Hodnotu //PID// daného procesu lze získat např. pomocí '' | ||
- | |||
- | **Poznámka: | ||
- | |||
- | ==== Matematika z příkazové řádky ==== | ||
- | |||
- | === Proměnné === | ||
- | |||
- | Proměnné v unixových systémech nemají přiřazen typ proměnné - všechny proměnné považuje //shell// za proměnné typu text. | ||
- | Proměnná se vytvoří specifikací jejího jména a přiřazením hodnoty a není ji tak potřeba před použitím deklarovat. Jméno proměnné musí vždy začínat písmenem. | ||
- | K hodnotám uloženým v proměnné se přistupuje pomocí znaku dolar '' | ||
- | |||
- | '' | ||
- | |||
- | x=5 | ||
- | echo $x | ||
- | |||
- | **Poznámka: | ||
- | |||
- | Po definování existuje proměnná v //shell//u až do jeho ukončení. V případě, že chcete proměnnou odstranit před ukončením //shell//u, použijte příkaz '' | ||
- | |||
- | unset x | ||
- | |||
- | Kromě hodnot proměnných je možné příkaz '' | ||
- | | ||
- | echo "Hello World!" | ||
- | | ||
- | x=10 | ||
- | echo " | ||
- | |||
- | Hodnotu proměnné je možné zadávat také interaktivně. K tomuto účelu slouží příkaz '' | ||
- | |||
- | read x | ||
- | 10 | ||
- | echo $x | ||
- | 10 | ||
- | |||
- | Jestliže chcete přiřadit hodnotu proměnné na základě výstupu příkazu použijte syntaxi | ||
- | |||
- | x=`prikaz` | ||
- | |||
- | === expr === | ||
- | Hodnotu jednoduchých výrazů lze vypočítat pomocí příkazu '' | ||
- | |||
- | echo `expr 1 '<' | ||
- | 1 | ||
- | | ||
- | echo `expr 1 '>' | ||
- | 0 | ||
- | | ||
- | echo `expr 5 ' | ||
- | 1 | ||
- | | ||
- | echo `expr 1 '&' | ||
- | 0 | ||
- | | ||
- | x = `expr 1 ' | ||
- | echo $x | ||
- | 7 | ||
- | |||
- | **Poznámka: | ||
- | \\ | ||
- | Vzhledem k tomu, že proměnnými je v unixových systémech nakládáno jako s řetězcem, je třeba použít příkaz '' | ||
- | |||
- | x=1 | ||
- | y=$x+1 | ||
- | echo $y | ||
- | 1+1 | ||
- | |||
- | x=1 | ||
- | y=`expr $x+1` | ||
- | echo $y | ||
- | 2 | ||
- | |||
- | Příkaz '' | ||
- | |||
- | echo `expr length " | ||
- | 11 | ||
- | |||
- | Následující příkaz vybere specifikovaný podřetězec. | ||
- | |||
- | echo `expr substr " | ||
- | Core | ||
- | |||
- | Pomocí níže uvedeného příkazu je možné otestovat, zda-li řetězec obsahuje hledaný podřetězec. Příkaz standardně vrací číslo první pozice znaku řetezce, který se shoduje s některým ze znaků podřetězce. V případě, že se řetězec a podřetězec neshodují ani v jednom znaku, vrátí příkaz hodnotu nula. | ||
- | |||
- | echo `expr index " | ||
- | 2 | ||
- | | ||
- | echo `expr index " | ||
- | 0 | ||
- | |||
- | === bc === | ||
- | '' | ||
- | |||
- | bc -l | ||
- | | ||
- | bc 1.06 | ||
- | Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. | ||
- | This is free software with ABSOLUTELY NO WARRANTY. | ||
- | For details type `warranty`. | ||
- | 1/3 | ||
- | .333333333333333333333 | ||
- | 1 < 0 | ||
- | 0 | ||
- | 5*(1/3+1) | ||
- | 6.66666666666666666666 | ||
- | quit | ||
- | |||
- | ==== Tisk z příkazové řádky ==== | ||
- | |||
- | Pro tisk z příkazové řádky se používají příkazy '' | ||
- | |||
- | Z příkazové řádky je možné přímo tisknout textové a postscriptové soubory((Ostatní soubory - např. s příponou '' | ||
- | |||
- | lpr text.txt | ||
- | |||
- | Tento příkaz zařadí tiskovou úlohu do fronty výchozí tiskárny. Jestliže máte tiskáren více, je možné požadovanou tiskárnu specifikovat pomocí přepínače '' | ||
- | |||
- | lpr -Pjmeno_tiskarny text.txt | ||
- | |||
- | Seznam dostupných tiskáren získáte pomocí příkazu | ||
- | |||
- | cat / | ||
- | | ||
- | tiskarna|HP Inkjet: | ||
- | |||
- | Dle výše uvedeného výpisu je k dispozici pouze jedna tiskárna, která se jmenuje '' | ||
- | |||
- | Seznam úloh, které se momentálně nachází v tiskové frontě získáte pomocí příkazu '' | ||
- | |||
- | lpq | ||
- | | ||
- | Rank Owner Job File(s) | ||
- | 1st | ||
- | |||
- | lpq -Pjmeno_tiskarny | ||
- | | ||
- | Rank Owner Job File(s) | ||
- | 1st | ||
- | |||
- | Konkrétní úlohu je možné z tiskové fronty odstranit příkazem '' | ||
- | |||
- | lprm cislo_tiskove_ulohy | ||
- | |||
- | lprm -Pjmeno_tiskarny cislo_tiskove_ulohy | ||
- | |||
- | Parametr '' | ||
- | |||
- | Tiskové úlohy konkrétního uživatele odstraníte pomocí | ||
- | |||
- | lprm jmeno_uzivatele | ||
- | |||
- | popř. | ||
- | |||
- | lprm -Pjmeno_tiskarny jmeno_uzivatele | ||
- | |||
- | Všechny tiskové úlohy lze odstranit příkazem | ||
- | |||
- | lprm - | ||
- | |||
- | popř. | ||
- | |||
- | lprm - -Pjmeno_tiskarny | ||
- | |||
- | **Poznámka: | ||
- | |||
- | **Tip:** Manuálové stránky lze tisknout příkazem | ||
- | |||
- | man klicove_slovo | col -b | lpr -Pjmeno_tiskarny | ||
- | |||
- | ==== Vypnutí / restart počítače ==== | ||
- | |||
- | Počítač lze z účtu superuživatele vypnout pomocí příkazu | ||
- | |||
- | / | ||
- | |||
- | a restartovat pomocí | ||
- | |||
- | / | ||
- | |||
- | Jako běžný uživatel můžete pro restart použít příkaz | ||
- | |||
- | reboot | ||
- | |||
- | a pro vypnutí systému příkaz | ||
- | |||
- | poweroff | ||
- | |||
- | **Poznámka: | ||
- | |||
- | ==== Aliasy ==== | ||
- | |||
- | Alias umožňuje definovat souslednost příkazů a těm následně přiřadit jméno. Aliasy jsou svojí logikou velice blízké níže popisovaným funkcím. Základním rozdílem však je rychlost. Funkce je spouštěna přímo v aktuálním //shell//u, a proto je rychlejší než alias, který je spouštěn v " | ||
- | |||
- | Seznam všech aliasů definovaných ve Vašem systému zíkáte příkazem | ||
- | |||
- | alias | ||
- | | ||
- | alias l.='ls -d .* --color=tty' | ||
- | alias ll='ls -l --color=tty' | ||
- | alias ls='ls --color=tty' | ||
- | alias mc='. / | ||
- | alias which=' | ||
- | |||
- | Definovat nový alias lze snadno pomocí následující syntaxe | ||
- | |||
- | alias turnoff=' | ||
- | |||
- | Pokud výše uvedený alias spustíte z účtu superuživatele, | ||
- | |||
- | turnoff | ||
- | |||
- | ==== Programování ==== | ||
- | |||
- | //Shell// je možné použít jako programovací jazyk. Není sice tak všestranný jako např. //Java// nebo //C++//, ale přesto je možné s jeho využitím řešit řadu problémů. Následující kapitola předpokládá znalost základních příkazů a představuje tak zakončení této kapitoly. | ||
- | |||
- | === Skript === | ||
- | |||
- | V souvislosti s //shell//em a programováním se často mluví o tzv. skriptu. Skript není nic jiného než textový soubor, který má pro vybrané skupiny uživatelů nastaveno právo | ||
- | |||
- | === Argumenty předávané skriptu === | ||
- | |||
- | Skriptu je možné předávat hodnoty pomocí argumentů. K tomu slouží deset tzv. pozičních parametrů, které odpovídají speciálním // | ||
- | |||
- | Vytvořte následující soubor, který pojmenujte součet. | ||
- | |||
- | gedit ~/soucet | ||
- | |||
- | Do souboru vložte následující řádky | ||
- | |||
- | # Skript pro soucet dvou cisel | ||
- | echo " | ||
- | echo "Pocet zadanych paremetru je " $# " | ||
- | echo "Jedna se o nasledujici parametry: " $* | ||
- | exit | ||
- | |||
- | Soubor '' | ||
- | |||
- | chmod u+x ~/soucet | ||
- | |||
- | a daný skript spusťte. | ||
- | |||
- | ~/soucet 7 8 | ||
- | | ||
- | Soucet cisel 7 a 8 je 15 . | ||
- | Pocet zadanych parametru je 2. | ||
- | Jedna se o nasledujici parametry: | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === Příkazy větvení === | ||
- | |||
- | == if == | ||
- | |||
- | Syntaxe příkazu '' | ||
- | |||
- | if vyraz | ||
- | then | ||
- | | ||
- | fi | ||
- | |||
- | if vyraz | ||
- | then | ||
- | | ||
- | else | ||
- | | ||
- | fi | ||
- | |||
- | if vyraz_1 | ||
- | then | ||
- | prikazy | ||
- | elif vyraz_2 | ||
- | then | ||
- | prikazy | ||
- | else | ||
- | prikazy | ||
- | fi | ||
- | Výraz '' | ||
- | |||
- | # ilustracni priklad | ||
- | if x=`expr 1 ' | ||
- | then | ||
- | echo " | ||
- | else | ||
- | echo " | ||
- | fi | ||
- | exit | ||
- | | ||
- | ./skript | ||
- | pravda | ||
- | |||
- | # ilustracni priklad | ||
- | if x=`expr 1 ' | ||
- | then | ||
- | echo " | ||
- | else | ||
- | echo " | ||
- | fi | ||
- | exit | ||
- | | ||
- | ./skript | ||
- | expr: non-numeric argument | ||
- | nepravda | ||
- | |||
- | Jestliže chcete, aby výraz '' | ||
- | |||
- | # ilustracni priklad | ||
- | if test 0 -le 1 | ||
- | then | ||
- | echo " | ||
- | else | ||
- | echo " | ||
- | fi | ||
- | exit | ||
- | | ||
- | ./skript | ||
- | pravda | ||
- | |||
- | # ilustracni priklad | ||
- | if test 2 -le 1 | ||
- | then | ||
- | echo " | ||
- | else | ||
- | echo " | ||
- | fi | ||
- | exit | ||
- | | ||
- | ./skript | ||
- | nepravda | ||
- | |||
- | Vedle operátoru '' | ||
- | |||
- | ^ Operátor ^ Význam ^ | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | Dále je možné používat také speciální " | ||
- | |||
- | # ilustracni priklad | ||
- | if test -f " | ||
- | then | ||
- | echo " | ||
- | else | ||
- | echo " | ||
- | fi | ||
- | exit | ||
- | |||
- | Následující tabulka představuje kompletní seznam těchto speciálních přepínačů. | ||
- | |||
- | ^ Operátor ^ Význam ^ | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | == case == | ||
- | Tuto funkci lze použít k zjednodušení komplexnějších kontrukcí obsahujících podmínku. Syntaxe je obdobná jako v jiných programovacích jazycích. | ||
- | |||
- | # NAZEV SKRIPTU: vypocti | ||
- | # ilustracni priklad | ||
- | case $2 in | ||
- | ' | ||
- | ' | ||
- | ' | ||
- | '/' | ||
- | *) echo " | ||
- | esac | ||
- | exit | ||
- | | ||
- | ./vypocti 6 / 2 | ||
- | 3 | ||
- | | ||
- | ./vypocti 6 podil 2 | ||
- | 3 | ||
- | | ||
- | ./vypocti 6 deleno 2 | ||
- | Neznamy operator! | ||
- | |||
- | Výše uvedený skript vyžaduje tři parametry. Skript podle hodnoty druhého parametru určí typ matematické operace. Následně provede příslušnou operaci s prvním a třetím parametrem. V kódu je také ošetřen případ, kdy druhý parametr nenabyde žádné z očekávaných hodnot. | ||
- | |||
- | == Konstruktory && a || == | ||
- | |||
- | Konstruktory ''&&'' | ||
- | |||
- | Konstruktor ''&&'' | ||
- | |||
- | uname | grep Linux && echo " | ||
- | |||
- | Konstruktor '' | ||
- | |||
- | uname -m | grep i686 || echo " | ||
- | |||
- | === Cykly === | ||
- | |||
- | == for == | ||
- | |||
- | Příkaz '' | ||
- | |||
- | Následující syntaxe způsobí, že cyklus proběhne tolikrát, kolik je zadáno parametrů, přičemž proměnná '' | ||
- | |||
- | # ilustracni priklad | ||
- | for x | ||
- | do | ||
- | echo " | ||
- | done | ||
- | | ||
- | ./skript 1 2 3 | ||
- | Parametr: 1 | ||
- | Parametr: 2 | ||
- | Parametr: 3 | ||
- | |||
- | Níže uvedený cyklus proběhne tolikrát, kolik je uvedeno hodnot za klíčovým slovem '' | ||
- | |||
- | # ilustracni priklad | ||
- | for x in `ls -d *` | ||
- | do | ||
- | echo "V pracovnim adresari se nachazi soubor / adresar: "$x | ||
- | done | ||
- | |||
- | == while == | ||
- | |||
- | Příkaz '' | ||
- | |||
- | while vyraz | ||
- | do | ||
- | prikazy | ||
- | done | ||
- | |||
- | Ve výrazu '' | ||
- | |||
- | ^ Operátor ^ Význam ^ | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | Následující skript vypíše čísla od 1 do 100. | ||
- | |||
- | # NAZEV SKRIPTU: skript | ||
- | # ilustracni priklad | ||
- | a=1 | ||
- | while [ $a -le 100 ] | ||
- | do | ||
- | echo $a | ||
- | a=`expr $a ' | ||
- | done | ||
- | |||
- | == until == | ||
- | |||
- | Příkaz '' | ||
- | |||
- | until vyraz | ||
- | do | ||
- | prikazy | ||
- | done | ||
- | |||
- | |||
- | V rámci příkazu '' | ||
- | Následující ilustrační skript vypíše čísla od 110 do 100. | ||
- | |||
- | # NAZEV SKRIPTU: skript | ||
- | # ilustracni priklad | ||
- | a=111 | ||
- | until [ $a = 100 ] | ||
- | do | ||
- | a=`expr $a ' | ||
- | echo $a | ||
- | done | ||
- | |||
- | == Přerušení cyklu == | ||
- | |||
- | K přerušení cyklu slouží příkazy '' | ||
- | |||
- | Příkaz '' | ||
- | |||
- | # NAZEV SKRIPTU: skript | ||
- | # ilustracni priklad | ||
- | for x in $* | ||
- | do | ||
- | case $x in | ||
- | | ||
- | *) echo $x "neni ciselny parametr!" | ||
- | esac | ||
- | done | ||
- | exit | ||
- | | ||
- | ./skript 8 9 | ||
- | 8 je ciselny parametr. | ||
- | 64 | ||
- | 9 je ciselny parametr. | ||
- | 81 | ||
- | | ||
- | ./skript 8 a 9 | ||
- | 8 je ciselny parametr. | ||
- | 64 | ||
- | a neni ciselny parametr! | ||
- | |||
- | Příkaz '' | ||
- | |||
- | # NAZEV SKRIPTU: skript | ||
- | # ilustracni priklad | ||
- | for x in $* | ||
- | do | ||
- | case $x in | ||
- | [0-9]) echo $x "je ciselny parametr." | ||
- | *) echo $x "neni ciselny parametr!" | ||
- | esac | ||
- | done | ||
- | exit | ||
- | | ||
- | ./skript 8 9 | ||
- | 8 je ciselny parametr. | ||
- | 64 | ||
- | 9 je ciselny parametr. | ||
- | 81 | ||
- | | ||
- | ./skript 8 a 9 | ||
- | 8 je ciselny parametr. | ||
- | 64 | ||
- | a neni ciselny parametr! | ||
- | 9 je ciselny parametr. | ||
- | 81 | ||
- | |||
- | === Funkce === | ||
- | |||
- | V //shell//u je možné definovat funkce, které umožňují redukovat množství kódu a tím přispět k jeho zpřehlednění. | ||
- | Funkce se chová jako libovolný příkaz. To znamená, že je schopna přebírat hodnoty argumentů a vrací hodnotu. | ||
- | |||
- | jmeno_funkce () | ||
- | { | ||
- | prikazy | ||
- | } | ||
- | |||
- | Následující funkce vyhledá soubory a adresáře. Jako prvni parametr je zadána část jména hledaného souboru popř. adresáře. Ostatní parametry představují adresáře, které mají být prohledány. Je-li zadán pouze první parametr, prohledává se celý systém souborů. | ||
- | |||
- | # NAZEV SKRIPTU: skript | ||
- | # ilustracni priklad | ||
- | searchfile() | ||
- | { | ||
- | case $# in | ||
- | 0) | ||
- | echo " | ||
- | 1) | ||
- | echo " | ||
- | find / -name " | ||
- | *) | ||
- | for x in $2 $3 $4 $5 $6 $7 $8 $9 | ||
- | do | ||
- | echo " | ||
- | find $x -name " | ||
- | done;; | ||
- | esac | ||
- | return 0 | ||
- | } | ||
- | |||
- | **Poznámka: | ||
- | |||
- | Aby bylo možné funkci používat, je třeba nejprve načíst soubor, který obsahuje definice funkcí. Přesuňte se do adresáře, který obsahuje tento soubor a do příkazové řádky zadejte | ||
- | |||
- | . jmeno_souboru_s_funkcemi | ||
- | |||
- | Po té je možné funkci spouštět přímo z příkazové řádky jako běžný příkaz. Výše definovanou funkci je možné např. spustit pomocí | ||
- | |||
- | searchfile txt /opt /home | ||
- | | ||
- | ... | ||
- | text.txt | ||
- | ... | ||
- | |||
- | ==== Konfigurační soubory .bashrc a rc.local ==== | ||
- | |||
- | Jestliže chcete, aby se určité příkazy, skripty nebo aliasy automaticky spouštěly při přihlášení se do systému, je třeba je přidat do konfiguračních souborů.\\ | ||
- | Konkrétně se jedná soubor '' | ||
- | |||
- | ==== Periodické spouštění procesů ==== | ||
- | * Přečtěte si kapitolu [[navody: | ||
- | |||
- | === cron === | ||
- | Jestliže chcete spouštět skript((Skript je soubor, který obsahuje posloupnost příkazů a který má nastaveno právo spouštění.)) s určitou periodicitou, | ||
- | |||
- | Další možností je vytvořit si vlastní konfigurační soubor '' | ||
- | Syntaxe tohoto konfiguračního souboru je následující | ||
- | |||
- | minuta hodina den mesic den_v_tydnu [jmeno_uzivatele] prikaz | ||
- | |||
- | ^ **Pole** ^ **Popis** ^ **Rozsah** ^ | ||
- | | minuta | minuta příslušného hodiny | 0 - 59 | | ||
- | | hodina | hodina příslušného dne | 0 - 23 | | ||
- | | den | den v měsíci | 1 - 31 | | ||
- | | mesic | měsíc v roce | 1 - 12 | | ||
- | | den_v_tydnu | den v týdnu | 0 - 6 (0 = neděle)| | ||
- | |||
- | Každé pole navíc může obsahovat znak: | ||
- | - hvězdička ('' | ||
- | - dvě čísla oddělená pomlčkou, která značí rozsah hodnot | ||
- | - seznam čísel popř. rozsahů oddělených čárkou | ||
- | |||
- | '' | ||
- | |||
- | Následující konfigurační soubor spusti '' | ||
- | |||
- | #crontab - ilustracni priklad | ||
- | 0 12 1 1 * | ||
- | 0 3 * * 1-5 prikaz2 | ||
- | 0 * * * * | ||
- | |||
- | ** Poznámka: | ||
- | |||
- | #crontab - ilustracni priklad | ||
- | 0 12 1 * 5 prikaz | ||
- | |||
- | tak nespustí '' | ||
- | |||
- | O spouštění souborů v adresáří ''/ | ||
- | |||
- | **Poznámka: | ||
- | |||
- | === at === | ||
- | Jestliže chcete spustit příkaz či skript v danou dobu a nechcete k tomu použít '' | ||
- | |||
- | at 11pm | ||
- | at> / | ||
- | at> | ||
- | |||
- | Stiskněte //Ctrl+D//. | ||
- | |||
- | Job at 2007-01-04 23:00 | ||
- | |||
- | ==== Další informace ==== | ||
- | |||
- | === man === | ||
- | |||
- | Bližší informace o výše uváděných příkazech můžete získat pomocí | ||
- | |||
- | man prikaz | ||
- | |||
- | Např. manuálovou stránku příkazu '' | ||
- | |||
- | man ls | ||
- | | ||
- | LS(1) User Commands | ||
- | | ||
- | NAME | ||
- | ls - list directory contents | ||
- | | ||
- | SYNOPSIS | ||
- | ls [OPTION]... [FILE]... | ||
- | | ||
- | DESCRIPTION | ||
- | List information about the FILEs (the current directory by default). | ||
- | of -cftuSUX nor --sort. | ||
- | ... | ||
- | |||
- | === info === | ||
- | |||
- | Dalším užitečným příkazem pro získání nápovědy je '' | ||
- | |||
- | info ls | ||
- | | ||
- | | ||
- | File: coreutils.info, | ||
- | | ||
- | 10.1 `ls': List directory contents | ||
- | ================================== | ||
- | | ||
- | The `ls' program lists information about files (of any type, including | ||
- | directories). | ||
- | arbitrarily, | ||
- | | ||
- | For non-option command-line arguments that are directories, | ||
- | default `ls' lists the contents of directories, | ||
- | omitting files with names beginning with `.' | ||
- | arguments, by default `ls' lists just the file name. If no non-option | ||
- | argument is specified, `ls' operates on the current directory, acting | ||
- | as if it had been invoked with a single argument of `.'. | ||
- | | ||
- | ... | ||
- | |||
- | === apropos === | ||
- | |||
- | Informace uvedené v sekci //NAME// jsou využívány příkazem '' | ||
- | Například seznam všech manuálových stránek, které se váží ke slovu //file//, získáte pomocí | ||
- | |||
- | apropos file | ||
- | |||
- | ===== ===== | ||
- | [[navody: |