🐧 Práce s Linuxem

🐧 Práce s Linuxem

Linux je operační systém, který pohání většinu serverů na internetu, superpočítače i mnoho osobních počítačů. Pro programátory a IT profesionály je znalost Linuxu téměř nezbytná. Ale nebojte se - Linux není těžký a není jen pro geeky. Tento průvodce vás provede instalací Ubuntu (nejpopulárnější distribuce pro začátečníky), naučí vás základní práci v terminálu a ukáže, jak se orientovat v linuxovém souborovém systému. Naučíte se příkazy jako ls, cd, grep a apt, a budete schopni psát jednoduché bash skripty. Žádná věda - jen praktické znalosti, které budete skutečně používat.

Proč se učit Linux?

Linux není jen alternativa k Windows nebo macOS. Je to nástroj, který vám otevře dveře k hlubšímu pochopení počítačů a programování:

  • Vývojové prostředí - většina webových aplikací běží na Linux serverech
  • Nástroje pro programátory - Docker, Git, většina programovacích jazyků fungují na Linuxu skvěle
  • Kontrola a transparentnost - vidíte a kontrolujete, co se děje s vaším počítačem
  • Zdarma a open source - žádné licence, žádné skryté náklady
  • Lepší porozumění - naučíte se, jak počítače skutečně fungují
💡 Pro koho je Linux

Linux je ideální pro programátory, system administrátory, studenty IT nebo kohokoliv, kdo chce mít větší kontrolu nad svým počítačem. Pokud jen surfujete na webu a píšete dokumenty, možná vám bude Windows nebo macOS vyhovovat víc - a to je v pořádku.

První kroky s Linuxem

1 Rozhodněte se, jak chcete Linux používat

Máte několik možností:

  • Virtuální stroj - Linux v okně na vašem stávajícím systému (nejbezpečnější pro začátek)
  • Dual boot - Linux vedle Windows na stejném počítači
  • Hlavní systém - Linux jako jediný operační systém
  • Live USB - spustit Linux z USB bez instalace (jen na vyzkoušení)
  • WSL - Linux subsystém ve Windows (pro pokročilé uživatele Windows)

Pro začátek doporučujeme virtuální stroj (VirtualBox) - je bezpečný a nic nepokazíte.

2 Zálohujte data

Pokud plánujete instalovat Linux přímo na počítač (dual boot nebo jako hlavní systém), nejprve zálohujte všechna důležitá data. I když je instalace dnes relativně bezpečná, lepší je být opatrní.

3 Vyberte distribuci

Pro začátečníky jednoznačně doporučujeme Ubuntu. Je nejpopulárnější, má největší komunitu a nejlepší dokumentaci. Až nabrat zkušenosti, můžete zkusit jiné distribuce.

Linux distribuce - který vybrat?

Linux není jeden systém, ale rodina systémů. Různé "distribuce" se liší v tom, jak jsou nastaveny, jaké programy obsahují, a jak se používají:

Ubuntu (doporučeno pro začátečníky)

  • Nejpopulárnější distribuce pro desktopy
  • Skvělá dokumentace a obrovská komunita
  • Moderní grafické rozhraní, funguje "out of the box"
  • Pravidelné aktualizace a dlouhá podpora

Další populární distribuce

  • Linux Mint - založený na Ubuntu, ještě přívětivější k Windows uživatelům
  • Fedora - cutting edge technologie, pro pokročilejší uživatele
  • Debian - velmi stabilní, základ pro Ubuntu
  • Arch Linux - pro pokročilé, vše si nastavujete sami
  • Pop!_OS - vychází z Ubuntu, optimalizovaný pro vývojáře
💡 Stačí Ubuntu

Začněte s Ubuntu. Až se stanete pokročilými, můžete experimentovat s jinými distribucemi. Ale Ubuntu je tak dobré, že u něj možná zůstanete navždy. Většina rozdílů mezi distribucemi je pro začátečníky irelevantní.

Instalace Ubuntu

Instalace do VirtualBoxu (doporučeno pro začátečníky)

  1. Stáhněte VirtualBox z virtualbox.org
  2. Stáhněte Ubuntu ISO z ubuntu.com (Desktop verze)
  3. Vytvořte nový virtuální stroj ve VirtualBoxu
  4. Přidělte mu alespoň 4 GB RAM a 25 GB místa na disku
  5. Při prvním spuštění vyberte stažené Ubuntu ISO
  6. Následujte instalační průvodce

Instalace na fyzický počítač

  1. Stáhněte Ubuntu ISO
  2. Vytvořte bootovací USB pomocí Rufus (Windows) nebo Etcher
  3. Restartujte počítač a spusťte z USB (obvykle F12 nebo F2 při startu)
  4. Vyberte "Install Ubuntu"
  5. Zvolte jazyk a klávesnici
  6. Volba instalace:
    • "Install alongside" - dual boot s Windows
    • "Erase disk" - Linux jako jediný systém (smaže Windows!)
  7. Dokončete instalaci a restartujte
⚠️ Pozor při instalaci

Pokud vyberete "Erase disk and install Ubuntu", smaže to VŠE na disku včetně Windows. Pokud chcete dual boot, zvolte "Install Ubuntu alongside Windows". A nezapomeňte na zálohu dat!

Práce s terminálem

Terminál (nebo konzole) je textové rozhraní pro ovládání počítače. Ve Windows ho téměř nepoužíváte, ale v Linuxu je to mocný a efektivní nástroj. Nebojte se ho - není tak složitý, jak vypadá.

Jak otevřít terminál

  • Klávesová zkratka: Ctrl + Alt + T
  • Vyhledejte "Terminal" v aplikacích
  • Pravé tlačítko na ploše → "Open Terminal"

Základní anatomie příkazu

příkaz -volby argumenty

Příklad:
ls -la /home
  • příkaz - co chcete udělat (ls = list, vypsat obsah)
  • -volby - modifikují chování příkazu (-l = dlouhý formát, -a = všechno včetně skrytých souborů)
  • argumenty - na čem příkaz operuje (/home = který adresář vypsat)
💡 Tab completion

Stiskněte Tab při psaní příkazu nebo cesty - terminál automaticky doplní zbytek. To vám ušetří spoustu psaní a předejde překlepům. Dejte dvojitý Tab pro zobrazení všech možností.

Základní příkazy

Navigace v souborovém systému

# Zjistit, kde jsem
pwd

# Vypsat obsah aktuálního adresáře
ls
ls -l       # detailní výpis
ls -la      # včetně skrytých souborů

# Změnit adresář
cd /home/username/Documents
cd ..       # o úroveň výš
cd ~        # domovský adresář
cd -        # předchozí adresář

Práce se soubory

# Vytvořit soubor
touch soubor.txt

# Zobrazit obsah souboru
cat soubor.txt
less soubor.txt    # pro delší soubory (q pro ukončení)

# Kopírovat soubor
cp zdroj.txt cil.txt
cp -r slozka/ nova_slozka/    # kopírovat celou složku

# Přesunout/přejmenovat
mv stary_nazev.txt novy_nazev.txt
mv soubor.txt /jiny/adresar/

# Smazat
rm soubor.txt
rm -r slozka/      # smazat složku a její obsah
rm -rf slozka/     # force (bez potvrzování)
⚠️ rm -rf je nebezpečné

Příkaz rm -rf smaže vše bez potvrzení a nelze to vrátit. NIKDY nepoužívejte sudo rm -rf / - smaže vám celý systém! Vždy dvakrát zkontrolujte, co mažete.

Práce s adresáři

# Vytvořit adresář
mkdir nova_slozka
mkdir -p cesta/k/vnorene/slozce    # vytvoří i rodičovské adresáře

# Smazat prázdný adresář
rmdir prazdna_slozka

Vyhledávání

# Najít soubory
find /cesta -name "*.txt"
find . -type f -name "dokument*"

# Hledat v obsahu souborů
grep "hledany text" soubor.txt
grep -r "hledany text" /adresar/    # rekurzivně v celém adresáři
grep -i "text" soubor.txt           # case-insensitive

Informace o systému

# Kdo jsem
whoami

# Kolik místa na disku
df -h

# Využití místa v adresáři
du -sh *

# Běžící procesy
ps aux
top         # interaktivní zobrazení (q pro ukončení)
htop        # hezčí verze (možná ji budete muset nainstalovat)

# Informace o systému
uname -a
lsb_release -a

Správa oprávnění

# Změnit oprávnění
chmod +x script.sh          # udělat soubor spustitelný
chmod 755 soubor.txt        # číselná notace
chmod -R 644 slozka/        # rekurzivně

# Změnit vlastníka
sudo chown uzivatel:skupina soubor.txt

Linuxový souborový systém

Na rozdíl od Windows (C:, D:, E:) má Linux hierarchický souborový systém začínající v kořenu /:

Důležité adresáře

  • / - kořen, začátek všeho
  • /home - domovské adresáře uživatelů (jako C:\Users ve Windows)
  • /home/username - váš domovský adresář, zkráceně ~
  • /etc - konfigurační soubory systému
  • /var - proměnlivá data (logy, dočasné soubory)
  • /usr - nainstalované programy
  • /bin - základní systémové příkazy
  • /tmp - dočasné soubory (mažou se při restartu)

Cesty

  • Absolutní cesta: začíná /, např. /home/user/dokument.txt
  • Relativní cesta: vzhledem k aktuální pozici, např. ./soubor.txt nebo ../parent/
  • ~ - zkratka pro váš domovský adresář
  • . - aktuální adresář
  • .. - rodičovský adresář

Skryté soubory

Soubory začínající tečkou (např. .bashrc) jsou skryté. Vidíte je pomocí ls -a. Obvykle obsahují konfiguraci.

Správa balíčků (APT)

V Ubuntu se programy instalují pomocí správce balíčků APT. Je to jako App Store, ale z příkazové řádky:

# Aktualizovat seznam dostupných balíčků
sudo apt update

# Upgradovat nainstalované balíčky
sudo apt upgrade

# Nainstalovat program
sudo apt install firefox
sudo apt install git vim htop

# Odstranit program
sudo apt remove firefox
sudo apt purge firefox     # odstraní i konfiguraci

# Vyhledat balíček
apt search editor
apt search "text editor"

# Informace o balíčku
apt show vim
💡 Sudo

sudo znamená "super user do" - spouští příkaz s administrátorskými právy. Systém vás vyzve k zadání hesla. Používejte sudo pouze když je to nutné, a vždy zkontrolujte, co spouštíte.

Užitečné balíčky pro začátek

sudo apt install \
    git \                # verzování kódu
    vim \                # textový editor v terminálu
    htop \               # správce procesů
    curl wget \          # stahování z internetu
    tree \               # zobrazí strukturu adresářů
    build-essential      # kompilátory pro C/C++

Základy bash scriptingu

Bash skripty jsou textové soubory s příkazy, které se provedou postupně. Automatizují opakující se úkoly.

První bash skript

#!/bin/bash
# Toto je komentář

echo "Ahoj, světe!"
echo "Aktuální datum: $(date)"
echo "Aktuální adresář: $(pwd)"

Uložte jako prvni_skript.sh, udělejte ho spustitelný a spusťte:

chmod +x prvni_skript.sh
./prvni_skript.sh

Proměnné

#!/bin/bash

jmeno="Jan"
vek=25

echo "Ahoj, $jmeno!"
echo "Je ti $vek let."

# Výstup příkazu do proměnné
aktualni_datum=$(date +%Y-%m-%d)
echo "Dnes je $aktualni_datum"

Podmínky

#!/bin/bash

if [ -f "soubor.txt" ]; then
    echo "Soubor existuje"
else
    echo "Soubor neexistuje"
fi

# Číselné porovnání
cislo=10
if [ $cislo -gt 5 ]; then
    echo "Číslo je větší než 5"
fi

Cykly

#!/bin/bash

# For cyklus
for i in 1 2 3 4 5; do
    echo "Číslo: $i"
done

# Iterace přes soubory
for soubor in *.txt; do
    echo "Zpracovávám: $soubor"
done

# While cyklus
pocitadlo=1
while [ $pocitadlo -le 5 ]; do
    echo "Iterace: $pocitadlo"
    pocitadlo=$((pocitadlo + 1))
done

Praktický příklad: Záloha souborů

#!/bin/bash

# Zálohovací skript

ZDROJ="$HOME/Documents"
CIL="$HOME/Backups/backup-$(date +%Y%m%d-%H%M%S)"

echo "Vytvářím zálohu..."
mkdir -p "$CIL"
cp -r "$ZDROJ"/* "$CIL"

echo "Záloha vytvořena v: $CIL"
echo "Velikost zálohy: $(du -sh "$CIL" | cut -f1)"

Praktické tipy pro každodenní práci

Klávesové zkratky v terminálu

  • Ctrl + C - ukončit běžící příkaz
  • Ctrl + D - konec vstupu / odhlásit se
  • Ctrl + L - vyčistit obrazovku (nebo příkaz clear)
  • Ctrl + R - hledat v historii příkazů
  • Ctrl + A - na začátek řádku
  • Ctrl + E - na konec řádku
  • Ctrl + U - smazat vše před kurzorem
  • ↑/↓ - procházet historii příkazů

Přesměrování a roury (pipes)

# Výstup do souboru
echo "text" > soubor.txt         # přepíše soubor
echo "další text" >> soubor.txt  # přidá na konec

# Vstup ze souboru
wc -l < soubor.txt

# Roura - výstup jednoho příkazu jako vstup druhého
ls -l | grep ".txt"
cat soubor.txt | grep "hledat" | wc -l

Historie příkazů

# Zobrazit historii
history

# Spustit předchozí příkaz
!!

# Spustit příkaz č. 42 z historie
!42

# Spustit poslední příkaz začínající na "git"
!git

# Vyčistit historii
history -c

Aliasy

Zkratky pro často používané příkazy. Přidejte do ~/.bashrc:

alias ll='ls -lah'
alias update='sudo apt update && sudo apt upgrade'
alias ..='cd ..'
alias ...='cd ../..'
alias gs='git status'
alias gp='git push'

Po úpravě .bashrc načtěte změny: source ~/.bashrc

Práce s textem

# Řazení
sort soubor.txt
sort -r soubor.txt    # sestupně

# Unikátní řádky
uniq soubor.txt
sort soubor.txt | uniq

# Počet řádků, slov, znaků
wc soubor.txt

# První/poslední řádky
head soubor.txt       # prvních 10 řádků
head -n 5 soubor.txt  # prvních 5 řádků
tail soubor.txt       # posledních 10 řádků
tail -f log.txt       # sledovat nové řádky (logy)

# Najít a nahradit
sed 's/stary/novy/g' soubor.txt
💡 Man pages

Pro každý příkaz existuje manuál. Zobrazte ho pomocí man název_příkazu, například man ls. Stiskněte q pro ukončení. Pokud je manuál příliš technický, zkuste název_příkazu --help nebo vyhledejte na internetu.

Řešení problémů

  • Něco nefunguje? Zkuste spustit s sudo
  • Čtěte chybové hlášky - většinou řeknou, co je špatně
  • Google je váš přítel - hledejte chybovou hlášku + "ubuntu"
  • Ask Ubuntu (askubuntu.com) je skvělý zdroj odpovědí
  • Oficiální fórum Ubuntu má přátelskou komunitu

Co dál?

Po zvládnutí základů můžete pokračovat:

  • Naučit se pokročilé bash scripting (funkce, error handling)
  • Prozkoumat vim nebo emacs jako editor v terminálu
  • Studovat správu systému (systemd, služby, cron)
  • Naučit se pracovat s SSH a vzdálenými servery
  • Studovat síťové nástroje (netstat, ss, iptables)
  • Vyzkoušet Docker a kontejnerizaci
💡 Realistická očekávání

Linux se naučíte používat postupně, každodenní praxí. Nemusíte znát každý příkaz - stačí znát ty základní a umět si najít, co potřebujete. S časem vám terminál přijde rychlejší a efektivnější než klikání myší. Buďte trpěliví a nebojte se experimentovat (jen si zálohujte data).