Základní příkazy
Shell
Shell je v podstatě program, který přijímá naše příkazy z klávesnice a předává je operačnímu systému k provedení. V grafickém prostřední (GUI) aplikace jako „Terminal“ nebo „Console“ spouštějí shellové prostředí.
Shell je prostředí, které umožňuje uživatelům komunikovat s operačním systémem pomocí příkazového řádku. Jedná se o textové rozhraní, kde můžete zadávat příkazy, spouštět programy a skripty, spravovat soubory a provádět mnoho dalších úkonů. Shell je základním nástrojem pro správu systému v Linuxu.
Existuje mnoho různých shellů, z nichž každý má své specifické vlastnosti a syntax. My budeme používat shell program bash (Bourne Again Shell), který je ve většině distribucí Linuxu nastaven jako výchozí. Dalšími oblíbenými shelly jsou například ksh (Korn Shell), zsh (Z Shell) a tsch (TENEX C Shell), těm se ale věnovat nebudeme.
Shellová výzva (prompt) obvykle vypadá takto:
uzivatelskeJmeno@hostname:aktualniAdresar$
například:
lukas@lukasuvLinux:/home/lukas$
Výzva obvykle obsahuje informace o aktuálním uživateli, názvu počítače a aktuálním adresáři. Znak $ na konci výzvy značí, že jste přihlášeni jako běžný uživatel. V případě administrátorského účtu (root) by výzva obsahovala znak #.
Začněme jednoduchým příkazem echo. Ten stejně jako v jiných prog. jazycích vypíše textové argumenty na obrazovku. V shellu ho můžeme využít například pro testování výstupů v rámci skriptů.
Pokud zadáme příkaz:
echo "Ahoj MěSOŠ"
vypíše se nám Ahoj MěSOŠ
pwd (print working directory)
Všechno v Linuxu je soubor, což pochopíme až pronikneme hlouběji do Linuxu. Každý soubor je uspořádán v hierarchickém stromu adresářů. První adresář v souborovém systému se příznačně jmenuje kořenový adresář (root directory). Kořenový adresář obsahuje mnoho složek a souborů, do kterých můžeme ukládat další složky a soubory atd. Více si povíme v jiné kapitole.
Umístění těchto souborů a adresářů se označuje jako cesty. Pokud máme složku s názvem home a v ní složku s názvem lukas a další složku v této složce s názvem filmy, vypadala by tato cesta takto: /home/lukas/filmy.
Příkaz pwd zobrazí aktuální pracovní adresář. Je to užitečné, když potřebujeme zjistit, kde se právě nacházíme v systému souborů. Kdykoliv budeme ztraceni, použijeme tento příkaz pro zjištění pozice.
pwd
cd (change directory)
Teď už víme, kde se nacházíme, se podíváme, jakým stylem se budeme pohybovat po souborovém systému. Budeme se muset orientovat pomocí cest – existují dva typy zadávání, a to absolutní a relativní cesty.
- Absolutní cesta – jedná se o cestu z kořenového adresáře., kdy kořenový adresář je hlavní adresář. Vždy když cesta začíná znakem /, znamená to, že začínáme z kořenového adresáře. Například: /home/lukas/Desktop
- Relativní cesta – jedná se o cestu z místa, kde se právě nacházíme v souborovém systému. Pokud bych se nacházel v umístění /home/pete/Documents a chtěl se dostat do adresáře uvnitř dokumentů s názvem skola, nemusím zadávat celou cestu od kořenového adresáře jako /home/lukas/Documents/skola, místo toho můžu přejít do adresáře takto skola/
Příkaz cd nám umožňuje změnit aktuální pracovní adresář. Stačí zadat cestu k adresáři, kam se chceme přesunout
cd /home/lukas/Pictures
Nyní jsme změnili umístění adresáře na /home/lukas/Pictures. Pokud mám v tomto adresáři složku například s názvem Chorvatsko, můžu do ní přejít jednoduchým příkazem
cd Chorvatsko
Všimli jste si, že jsme použili pouze název složky? To proto, že jsme se už nacházeli v adresáři /home/lukas/Pictures
Navigování pomocí absolutních a relativních cest může být v hojnějším užívání velmi otravné, naštěstí existuje několik zkratek na usnadnění:
- . (aktuální adresář) – toto je adresář, ve kterém se právě nacházíme.
- .. (nadřazený adresář) – přenese nás do adresáře nad aktuálním adresářem.
- ~ (domovský adresář) – tento adresář je ve výchozím nastavení náš domovský adresář (např. /home/lukas)
- – (předchozí adresář) – přenese nás do předchozí adresáře, kde jsme právě byli
cd .
cd ..
cd ~
cd -
ls (list directories)
Když už víme, jak se pohybovat po systému, jak zjistíme, jaké soubory máme k dispozici? Pomocí příkazu ls můžeme vypsat obsah adresářů. Příkaz ve výchozím nastavení vypíše adresáře a soubory v aktuálním adresáři, ale můžeme i zadat cestu, jejíž adresáře chceme vypsat
ls
ls home/lukas
Jedná se o docela užitečný nástroj, který nám také zobrazí podrobné informace o souborech a adresářích, na které se díváme.
Všimněte si, že ne všechny soubory v adresáři budou viditelné. Názvy souborů začínající znakem . jsou skryté. Můžeme si je však zobrazit, když k příkazu přidáme příznak -a (a jako all – všechny)
ls -a
Existuje ještě jeden užitečný příznak, a to -l (long – dlouhý), který zobrazí podrobný seznam souborů v dlouhém formátu. Zobrazí se podrobné infromace, počínaje zleva: oprávnění k souboru, počet odkazů, jméno vlastníka, skupina vlastníků, velikost souboru, časové razítko poslední změny a název souboru/adresáře.
touch
Pokud cheme vytvořit nějaké soubory, můžeme použít příkaz touch. Díky němu můžeme vytvořit nové prázdné soubory
touch mujSoubor
A je to, máme nový soubor.
Díky touch můžeme změnit i časová razítka existujících souborů a adresářů. Zkuste si to.
file
Soubory už vytvářet umíme, ale všimli jste si, že název souboru nedopovídá standardnímu pojmenování, jaké známe např. z Windows?
Standardně, pokud vidíme soubor s názvem skola.jpg, tak očekáváme JPEG soubor s obrázkem.
V Linuxu se ale nevyžaduje, aby názvy souborů reprezentovaly obsah souboru – můžeme vytvořit soubor s názvem auto.gif, které ve skutečnosti není GIF.
Pokud chceme zjistit, o jaký druh souboru se jedná, můžeme použít příkaz file – díky němu zobrazíme popis obsahu souboru
file skola.jpg
cat
Teď si ukážeme, jak soubor můžeme přečíst. Jednoduchý příkaz cat (zkratka pro concatenate) nám dokáže zobrazit obsah jak jednoho, tak i více souborů (spojí je).
cat nakup uctenka
Pro zobrazení velkých souborů se nehodí – je určen pouze pro krátký obsah,´. Pro větší txt soubory používáme jiné nástroje (probereme v jedné z dalších kapitol).
less
Pro zobrazení větších textových souborů než je jednoduchý výstup, můžeme použít příkaz less. Text se zobrazuje stránkovaně, takže můžeme soubor procházet stránku po stránce.
less /home/lukas/Documents/textovysoubor
V rámci zobrazení použijeme následující příkazy:
- q – slouží k ukončení práce v less a návratu do shellu.
- klávesy Page up, Page down, šipka nahoru a šipka dolu – přepínání mezi stránkami.
- g – přesune na začátek textového souboru.
- G – přesune na konec textového souboru.
- /[hledat] – můžeme vyhledávat konkrétní text uvnitř textového dokumentu. Před slovy, která chceme vyhledat, zadáme znak /
- h – vyvolání nápovědy less.
history
Pokud chceme zobrazit historii zadaných příkazů, použijeme příkaz history
history
Pokud chceme použít příkaz dříve zadaný – stiskneme šipku nahoru.
Pomocí zkratky CTRL+R můžeme vyhledávat v historii, opětovným stiskem CTRL+R můžeme procházet nalezené výsledky
clear
Pokud se nám zdá, že máme v terminálu už moc věcí, použijeme příkaz clear, ten vyčistí okno s terminálem.
clear
cp (copy)
Pro kopírování souborů využijeme příkaz cp.
cp ostrov.jpg /home/lukas/Documents/fotky_chorvatsko
V tomto příkazu je soubor s názvem ostrov.jpg to, co chceme kopírovat a /home/lukas/Documents/fotky_chorvatsko cesta, kam soubor(y) budeme kopírovat.
Můžeme kopírovat více souborů a adresářů, využívat i zástupné znaky (wildcards – žolíky). Zástupný znak je znak, kterým můžeme nahradit výběr založený na vzoru. Tyhle znaky můžeme využívat v každém příkazu.
- * – nejvyšší zástupný znak – zastupuje všechny jednotlivé znaky nebo řetězce
- ? – používá se k reprezentaci jednoho znaku
- [] – slouží k vyjádření libovolného znaku v závorce
cp *.jpg /home/lukas/Pictures
Tento příkaz zkopíruje všechny soubory s příponou .jpg v aktuálním adresáři do adresáře s fotkami.
Užitečný je i přepínač -r, který rekurzivně zkopíruje soubory a adresáře v rámci adresáře.
Pokud použijeme pouze cp na adresáři, který obsahuje několik souborů např. do adresáře Documents, nebude to fungovat – museli bychom zkopírovat soubory a adresáře uvnitř pomocí přepínače -r.
cp -r chorvatsko/ /home/lukas/Documents
Zvláštní situace nastane, pokud kopírujeme soubor do adresáře se stejný názvem – soubor bude přepsán tím, čím kopírujeme. Pokud máme soubor, který nechceme omylem přepsat, použijeme interaktivní přepínač -i, ten nás před přepsání vyzve.
$ cp -i mujsoubor /home/lukas/Documents
mv (move)
Tento příkaz slouží k přesování souborů a také k jejich přejmenování. Z hlediska přepínačů a funkcí je dost podobný příkazu cp.
Pokud potřebujeme přejmenovat soubor, napíšeme:
mv starynazev novynazev
Nebo můžeme soubor přesunout do jiného adresáře
mv soubor1 /home/lukas/Documents
A přesunout můžeme i více než jeden soubor
mv soubor1 soubor2 /home/lukas/Documents
Adresáře můžeme taktéž přejmenovat
mv adresar1 adresar2
Stejně jako u cp, pokud přesuneme soubor nebo adresář, přepíše vše ostatní ve stejném adresáři, takže i zde použijeme přepínač -i
mv -i adresar1 adresar2
Můžeme i přesunout soubor, aby přepsal původní a zároveň udělat zálohu toho souboru – ten získá před názvem znak ~, a to pomocí přepínače -b (backup)
mv -b adresar1 adresar2
mkdir (make directory)
Pokud potřebujeme vytvořit adresář, použijeme příkaz mkdir – ten vytvoří adresář (pokud neexistuje). Můžeme vytvořit i více adresářů najednou
mkdir foto_chorvatsko foto_italie
Můžeme vytvořit i podadresáře v jednom příkazu pomocí přepínače -p (parent)
mkdir -p foto_italie/den1/oblibene
rm (remove)
Pro odstranění souborů použijeme příkaz rm. Ten slouží k odstranění souborů a adresářů.
rm soubor1
Při používání příkazu rm buďte opatrní – neexistuje žádný koš ze kterého byste odstraněné soubory získali. Jakmile jednou zmizí – zmizí navždy.
Některé soubory a adresáře chráněné proti zápisu si před ostraněním vyžádají potvrzení.
rm -f soubor1
Přepínače -f (force) říká rm, aby odstranil všechny soubory, i chráněné proti zápisu, bez dotazu uživatele.
rm -i soubor
Přidáním příznaku -i zobrazíme dotaz, zda opravdu chceme soubor odstranit.
rm -r adresar
Ve výchozím nastavení pouze s rm adresář nevymažeme. Musíme přidat příznak -r (rekurzivní), abychom odstranili všechny soubory a podadresáře, které může adresář mít
Adresář můžeme odstranit i příkazem rmdir (remove directory)
rm -r adresar
find
Se všemi soubory, které máme v systému, může být hledání souboru náročné. Na hledání nám slouží příkaz find
find /home -name profilovka.jpg
V příkazu zadáme adresář, který prohledáváme a co hledáme (v našem případě soubor profilovka.jpg).
Můžeme ale zadat i typ souboru, který se snažíme najít
find /home -depth -name maSlozka
Nastavil jsem přepínač -depth na adresář, který se jmenuje maSlozka.
Příkaz hledá dokud něco nenajde – i v podadresářích, které adresáře mají.
help, man, whatis
Linux má vestavěný nástroj, který nám pomůže s používáním příkazu nebo s výpisem přepínačů, které jsou pro příkaz k dispozici. Tento nástroj se jmenuje help – ten poskytuje nápovědu pro dálší příkazy bashe.
help pwd
Příkaz vypíše popis a možnost užití příkazu pwd.
Můžeme to použít i na opak – k příkazu dáme přepínač –help
pwd --help
Podobně fungují i příkazy man (manuál) a whatis (popis příkazu).
exit, logout
Pro opuštění shellu použijeme příkaz exit (východ)
exit
Odhlásit se můžeme pomocí příkazu logout (odhlášení)
logout
Prezentace
OPS4-Zakladni-prikazyAutotest
Zdroje
Seznam zdrojů
ŠEDIVÝ, Libor. Operační systémy IV. ročník: Učební text. Městská střední odborná škola Klobouky u Brna, 2023.
ŠEDIVÝ, Libor. Operační systémy IV. ročník: Prezentace. Městská střední odborná škola Klobouky u Brna, 2023.
POMYKACZ, Ivan. Digitální učební materiály: Operační systémy – Linux. Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace, 2013.
ABARIS, Augustine. Introduction to Linux. BOSTON UNIVERSITY, 2018.
Linux Journey. Online. 2024. Dostupné z: https://linuxjourney.com/.
Ibiblio catalog. The Linux Users‘ Guide. Dostupné z: https://www.ibiblio.org/
Učebnice ABC/Linuxu. Online. Abclinuxu, 2006. Dostupné také z: https://www.abclinuxu.cz/download/ucebnice_abc_linuxu-20061019.pdf.
