Shebang: #!/bin/bash (vždy na 1. řádku)
Práva: chmod +x skript.sh (udělá soubor spustitelným)
Spuštění: ./skript.sh nebo bash skript.sh
Úprava:nano skript.sh nebo vi skript.sh
. : Aktuální složka (např. ./skript.sh).. : O úroveň výš (nadřazená složka)~ : Domovská složka aktuálního uživatele/ : Kořenový adresář (úplný začátek disku)| Příkaz | Význam (K čemu to je?) | Příklad |
|---|---|---|
| pwd | Kde právě jsem? (Cesta) | pwd |
| cd | Změna složky | cd /home/user |
| mkdir | Vytvořit novou složku | mkdir projekty |
| touch | Vytvořit prázdný soubor | touch main.sh |
| rm | Smazat (NEVRATNÉ!) | rm soubor.txt |
| cp | Kopírovat | cp stary.txt novy.txt |
| mv | Přesunout / Přejmenovat | mv a.txt b.txt |
| cat | Zobrazit obsah v terminálu | cat info.log |
| grep | Hledat text v souboru | grep "chyba" log.txt |
| echo | Vypsat text / proměnnou | echo "$USER" |
| -l | Dlouhý výpis (detaily). | -h | Čitelné velikosti (MB, GB). |
| -a | Vše včetně skrytých (.). | -1 | Každý soubor na nový řádek. |
| -t | Podle času (nové nahoře). | -S | Podle velikosti. |
| -r | Obrátit pořadí (Reverse). | -F | Značky (/ složka, * skript). |
Definice: jmeno="Petr" (bez mezer!)
Použití: echo "$jmeno"
Spojování: full="${jmeno}_zaloha.txt"
Vstup: read vstupni_promenna
Date: set $(date)
echo Dnes je $3. $2. $6 a je aktuální čas $4
| Proměnná | Význam |
|---|---|
$0 | Název skriptu |
$1, $2... | Poziční argumenty (první, druhý...) |
$# | Počet předaných argumentů |
$@ | Všechny argumenty (seznam) |
$? | Návratový kód (0 = OK, jiné = CHYBA) |
Syntaxe: if [ podmínka ]; then ... fi (pozor na mezery v závorkách!)
-eq (=), -ne (!=), -gt (>), -lt (<), -ge (>=), -le (<=)-e (existuje soubor/složka), -f (soubor), -d (složka), -w (zápis)== (rovná se), != (nerovná se), -z (prázdný)
&& : A zároveň (AND)
|| : Nebo (OR)
! : Negace
| zip -r archiv.zip slozka/ | Zabalí složku rekurzivně (včetně obsahu). |
| unzip archiv.zip | Rozbalí .zip archiv v aktuální složce. |
| tar -cvf zaloha.tar slozka/ | Vytvoří archiv (c=create, v=verbose, f=file). |
| tar -xvf zaloha.tar | Rozbalí archiv (x=extract). |
| tar -czvf zaloha.tar.gz slozka/ | Vytvoří komprimovanou zálohu (z=gzip). Menší velikost! |
| tar -xzvf zaloha.tar.gz | Rozbalí komprimovanou zálohu. |
POZOR: Tyto příkazy vyžadují 'sudo' (administrátorská práva)!
| Příkaz | Význam | Příklad |
|---|---|---|
| sudo adduser JMENO | Přidá uživatele, vytvoří složku a zeptá se na heslo. | sudo adduser karel |
| sudo passwd JMENO | Změní nebo nastaví heslo danému uživateli. | sudo passwd karel |
| sudo deluser --remove-home JMENO | Smaže uživatele i s jeho domovskou složkou. | sudo deluser --remove-home karel |
| sudo usermod -aG sudo JMENO | Dá uživateli práva admina (přidá ho do sudo skupiny). | sudo usermod -aG sudo karel |
| whoami | Vypíše jméno aktuálně přihlášeného uživatele. | whoami |
| groups JMENO | Ukáže, ve kterých všech skupinách je uživatel. | groups karel |
Tip: Příkaz id ti ukáže detailní číselné ID uživatele a skupin.
V Linuxu je root všemocný uživatel. sudo ti dovolí si jeho moc na chvíli půjčit.
| Příkaz | Význam | Příklad |
|---|---|---|
| sudo [příkaz] | Spustí konkrétní příkaz jako administrátor. | sudo apt update |
| sudo -i | Přepne tě na roota. Změní se ti kurzor na #. | sudo -i |
| sudo su - | Podobné jako -i, přihlásí tě do root prostředí. | sudo su - |
| exit | Vrátí tě z roota zpět k tvému uživateli. | exit |
| sudo !! | Spustí předchozí příkaz znovu, ale se sudem. | sudo !! |
Tip: Když jsi v "sudo -i", nemusíš už před každý příkaz psát slovo sudo.
| Příkaz | Cílová složka | Prostředí (Environment) |
|---|---|---|
| sudo su | Zůstaneš tam, kde jsi | Původní uživatel (může chybět cesta k admin nástrojům) |
| sudo su - | /root | Čisté prostředí roota (vše funguje správně) |
Tip: Vždy raději používej verzi s pomlčkou -, předejdeš tím chybám typu "command not found".
Tip: Vždy používej uvozovky "$PROMENNA", abys předešel chybám s mezerami.