🚀 BASH SCRIPTING - ULTIMÁTNÍ TAHÁK

1. Úvod a spouštění

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

🗺️1.1. NAVIGACE V CESTÁCH

2. Základní příkazy (File Ops)

PříkazVýznam (K čemu to je?)Příklad
pwdKde právě jsem? (Cesta)pwd
cdZměna složkycd /home/user
mkdirVytvořit novou složkumkdir projekty
touchVytvořit prázdný soubortouch main.sh
rmSmazat (NEVRATNÉ!)rm soubor.txt
cpKopírovatcp stary.txt novy.txt
mvPřesunout / Přejmenovatmv a.txt b.txt
catZobrazit obsah v terminálucat info.log
grepHledat text v souborugrep "chyba" log.txt
echoVypsat text / proměnnouecho "$USER"

📂 PŘÍKAZ 'ls'

Základní:
-lDlouhý výpis (detaily).-hČitelné velikosti (MB, GB).
-aVše včetně skrytých (.).-1Každý soubor na nový řádek.
Řazení a bonusy:
-tPodle času (nové nahoře).-SPodle velikosti.
-rObrátit pořadí (Reverse).-FZnačky (/ složka, * skript).

3. Proměnné a Stringy

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

4. Argumenty skriptu

ProměnnáVýznam
$0Ná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)

5. Podmínky (if)

Syntaxe: if [ podmínka ]; then ... fi (pozor na mezery v závorkách!)

Čísla: -eq (=), -ne (!=), -gt (>), -lt (<), -ge (>=), -le (<=)
Soubory: -e (existuje soubor/složka), -f (soubor), -d (složka), -w (zápis)
Stringy: == (rovná se), != (nerovná se), -z (prázdný)

6. Logické operátory

&& : A zároveň (AND)

|| : Nebo (OR)

! : Negace

📦 ARCHIVACE A KOMPRESE (Zip, Tar)

ZIP - Klasika pro Windows i Linux:
zip -r archiv.zip slozka/Zabalí složku rekurzivně (včetně obsahu).
unzip archiv.zipRozbalí .zip archiv v aktuální složce.
TAR - Standard v Linuxu (pásková archivace):
tar -cvf zaloha.tar slozka/Vytvoří archiv (c=create, v=verbose, f=file).
tar -xvf zaloha.tarRozbalí archiv (x=extract).
tar -czvf zaloha.tar.gz slozka/Vytvoří komprimovanou zálohu (z=gzip). Menší velikost!
tar -xzvf zaloha.tar.gzRozbalí komprimovanou zálohu.

👤 SPRÁVA UŽIVATELŮ (User Management)

POZOR: Tyto příkazy vyžadují 'sudo' (administrátorská práva)!

PříkazVýznamPříklad
sudo adduser JMENOPřidá uživatele, vytvoří složku a zeptá se na heslo.sudo adduser karel
sudo passwd JMENOZmění nebo nastaví heslo danému uživateli.sudo passwd karel
sudo deluser --remove-home JMENOSmaže uživatele i s jeho domovskou složkou.sudo deluser --remove-home karel
sudo usermod -aG sudo JMENODá uživateli práva admina (přidá ho do sudo skupiny).sudo usermod -aG sudo karel
whoamiVypíše jméno aktuálně přihlášeného uživatele.whoami
groups JMENOUkáž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.

🔑 PRÁVA A PŘEPÍNÁNÍ (Sudo & Root)

V Linuxu je root všemocný uživatel. sudo ti dovolí si jeho moc na chvíli půjčit.

PříkazVýznamPříklad
sudo [příkaz]Spustí konkrétní příkaz jako administrátor.sudo apt update
sudo -iPř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 -
exitVrá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.

🚩 ROZDÍL V PŘEPÍNÁNÍ (su vs su -)

PříkazCílová složkaProstředí (Environment)
sudo suZůstaneš tam, kde jsiPů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.