Vždy začíná lomítkem /. Je to "úplná adresa", která platí, ať jsi v systému kdekoliv.
Příklad: /home/uzivatel/dokumenty/skript.sh
Nezačíná lomítkem. Vychází z místa, kde právě teď "stojíš" (tvůj aktuální adresář pwd).
Příklad: Pokud jsi v /home/uzivatel/, stačí napsat dokumenty/skript.sh
| Značka | Význam | Příklad |
|---|---|---|
/ | Kořen (Root) - úplný začátek disku. | cd /etc |
~ | Domovská složka aktuálního uživatele. | cd ~/Downloads |
. | Tato složka (tady jsem). | ./muj_skript.sh |
.. | O úroveň výš (nadřazená složka). | cd .. |
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".
Oprávnění vidíš po zadání ls -l. Příklad: -rwxr-xr--
| Typ | Vlastník (u) | Skupina (g) | Ostatní (o) |
|---|---|---|---|
- (soubor) / d (složka) | rwx | r-x | r-- |
| Písmeno | Význam | Hodnota | Popis |
|---|---|---|---|
r | Read | 4 | Čtení obsahu / ls složky |
w | Write | 2 | Zápis / Mazání / Úprava |
x | Execute | 1 | Spuštění skriptu / cd do složky |
- | Žádné | 0 | Bez přístupu |
| Příkaz | Výsledek |
|---|---|
chmod +x skript.sh | Přidá právo spouštět (všem). |
chmod 755 skript.sh | rwxr-xr-x (Vlastník vše, ostatní jen čtení/spouštění). |
chmod 644 soubor.txt | rw-r--r-- (Vlastník čtení/zápis, ostatní jen čtení). |
chmod 700 tajne.sh | rwx------ (Přístup má POUZE vlastník). |
sudo chown uzivatel soubor | Změní majitele souboru. |
sudo chown uzivatel:skupina soubor | Změní majitele i skupinu. |
sudo chown -R uzivatel slozka/ | Změní majitele složky a všeho uvnitř (Rekurzivně). |
Číslo vznikne součtem: 4 (r) + 2 (w) + 1 (x)
Tip: Vždy používej uvozovky "$PROMENNA", abys předešel chybám s mezerami.
# Přidání uživatele
sudo adduser petr
# Vytvoření složky a souboru v jeho domovské složce
sudo mkdir /home/petr/zalohy
sudo touch /home/petr/zalohy/zalogovani.log
# Zápis obsahu /etc/passwd do logu
sudo cat /etc/passwd > /home/petr/zalohy/zalogovani.log
# Nastavení práv (vlastník čte/píše, ostatní nic)
sudo chmod 600 /home/petr/zalohy/zalogovani.log
sudo chown petr:petr /home/petr/zalohy/zalogovani.log
# Výpis procesů všech uživatelů do souboru
ps -ef > /home/petr/procesy.txt
#!/bin/bash
# Vytvoření složky backup, pokud neexistuje
mkdir -p ~/backup
# Dynamický název souboru s datem
DATUM=$(date +%d-%m-%Y)
NAZEV="konfigurace_$DATUM.tar.bz2"
# Zálohování zadané složky (předpokládejme např. /etc/config)
tar -cjvf ~/backup/$NAZEV /cesta/ke/slozce
mkdir ~/docs
sudo mv ~/docs /root/dokumenty
d : Jedná se o adresář (složku).rw- : Vlastník může číst a zapisovat, ale nemůže spouštět.rwx : Skupina může číst, zapisovat i spouštět (vstupovat do složky).r-- : Ostatní mohou pouze číst.Do souboru ~/.bashrc přidejte řádky:
alias copy='cp'
alias del='rm'
Poté aplikujte: source ~/.bashrc
top : Interaktivní přehled vytížení systému a procesů v reálném čase.df -h : Zobrazení volného místa na discích v čitelném formátu.free -m : Informace o zaplnění operační paměti (RAM) v MB.history : Výpis historie naposledy použitých příkazů v terminálu.man [příkaz] : Zobrazení manuálové stránky (dokumentace) k danému příkazu.