1. cvičení
Příkazový řádek, nápověda, systém souborů
- Desktop
- Příkazový řádek (pohyb, editace příkazu, doplňování, historie)
- Manuálové stránky
- Soubory a adresáře (příkazy a programy pro práci s nimi)
- Přístupová práva (nastavení)
Příkazový řádek
Zadání příkazu
    roman@virtual ~ $ date
    Sun Feb 10 21:33:45 CET 2019
    roman@virtual ~ $ echo "Hello World!"
    Hello World!
    Přihlášení přes ssh a změna hesla
    roman@virtual ~ $ ssh vyjiro00@apollo.inf.upol.cz
    roman@virtual ~ $ passwd
    Pohyb v terminálu
- Ctrl + a Skok na začátek řádku (Home)
- Ctrl + e Skok na konec řádku (End)
- Ctrl + p Předchozí příkaz (Up arrow)
- Ctrl + n Následující příkaz (Down arrow)
- Ctrl + f Vpřed o jeden znak (Right arrow)
- Ctrl + b Vzad o jeden znak (Left arrow)
- Ctrl + xx Přepínání mezi začátkem řádku a aktuální pozicí kurzoru
- Ctrl + r Vyhledávání v historii příkazů
Kopírování a vkládání
- Ctrl + Shift + c Kopírování
- Ctrl + Shift + v Vkládání
Manuálové stránky
    // Zobrazí manuálovou stráku pro příkaz echo. Zavření manuálové stránky je pomocí klávesy q
    roman@virtual ~ $ man echo
    Soubory a adresáře
Adresáře
    // Vytiskne na obrazovku aktuální adresář
    roman@virtual ~ $ pwd
    /home/roman
    // Zobrazení obsahu adresáře
    roman@virtual ~ $ ls
    Desktop  Documents  Downloads  fontconfig  Music  Pictures  Public  Templates  Videos
    // Obsah adrešáře s podrobnějšími informacemi (velikost, datum, jméno)
    roman@virtual ~ $ ls -l
    total 36
    drwxr-xr-x 2 roman roman 4096 Jan 29 19:08 Desktop
    drwxr-xr-x 2 roman roman 4096 Jan 29 18:46 Documents
    drwxr-xr-x 2 roman roman 4096 Jan 29 18:50 Downloads
    drwxrwxr-x 2 roman roman 4096 Feb 10 21:32 fontconfig
    drwxr-xr-x 2 roman roman 4096 Jan 29 18:46 Music
    drwxr-xr-x 2 roman roman 4096 Jan 29 18:46 Pictures
    drwxr-xr-x 2 roman roman 4096 Jan 29 18:46 Public
    drwxr-xr-x 2 roman roman 4096 Jan 29 18:46 Templates
    drwxr-xr-x 2 roman roman 4096 Jan 29 18:46 Videos
    // Zobrazení všech souborů a adresářů
    roman@virtual ~ $ ls -a
    .              .cache     Downloads    .kde        Pictures                   Templates
    ..             .config    fontconfig   .local      .profile                   Videos
    .bash_history  .dbus      .fontconfig  .mozilla    Public                     .Xauthority
    .bash_logout   Desktop    .gconf       Music       .ssh                       .xsession-errors
    .bashrc        Documents  .gtkrc-2.0   .parallels  .sudo_as_admin_successful
    // Kombinace přepinačů -l -a
    roman@virtual ~ $ ls -la
    total 200
    drwxr-xr-x 21 roman roman  4096 Feb 11 10:35 .
    drwxr-xr-x  3 root  root   4096 Jan 29 18:43 ..
    -rw-------  1 roman roman    89 Jan 29 19:16 .bash_history
    -rw-r--r--  1 roman roman   220 Jan 29 18:43 .bash_logout
    -rw-r--r--  1 roman roman  4000 Jan 29 18:43 .bashrc
    drwxrwxr-x 11 roman roman  4096 Feb 11 10:40 .cache
    drwxr-xr-x 14 roman roman  4096 Feb 10 21:37 .config
    drwx------  3 roman roman  4096 Jan 29 18:46 .dbus
    drwxr-xr-x  2 roman roman  4096 Jan 29 19:08 Desktop
    drwxr-xr-x  2 roman roman  4096 Jan 29 18:46 Documents
    drwxr-xr-x  2 roman roman  4096 Jan 29 18:50 Downloads
    drwxrwxr-x  2 roman roman  4096 Feb 10 21:32 fontconfig
    drwxrwxr-x  2 roman roman  4096 Jan 29 18:47 .fontconfig
    // Změna adresáře
    roman@virtual ~ $ cd public_html/
    roman@virtual ~/public_html $
    // Speciální adresáře
    // . Aktuální adresář
    roman@virtual ~/public_html $ ls .
    index.html
    // .. Nadřazený adresář
    roman@virtual ~/public_html $ ls ..
    Desktop  Documents  Downloads  fontconfig  Music  Pictures  Public  public_html  Templates  Videos
    // Vytvoření složky
    roman@virtual ~ $ mkdir pokusy
    roman@virtual ~ $ cd pokusy
    Obsah souborů
    // Vytvoření souboru
    roman@virtual ~/pokusy $ touch text.txt
    roman@virtual ~/pokusy $ ls -l
    total 0
    -rw-rw-r-- 1 roman roman 0 Feb 11 11:53 text.txt // nulová velikost
    // Typ souboru
    roman@virtual ~/pokusy $ file text.txt
    text.txt: empty
    // Otevření souboru v programu gedit a vložení textu "Hello World"
    roman@virtual ~/pokusy $ gedit text.txt
    roman@virtual ~/pokusy $ ls -l
    total 4
    -rw-rw-r-- 1 roman roman 14 Feb 11 11:57 text.txt
    roman@virtual ~/pokusy $ file text.txt
    text.txt: ASCII text
    // Výpis obsahu souboru do konzole
    roman@virtual ~/pokusy $ cat text.txt
    Hello world!!
    less text.txt
    Manipulace se soubory
    // Kopírování
    roman@virtual ~/pokusy $ cp text.txt kopie.txt
    // Přesun (přejmenování)
    roman@virtual ~/pokusy $ mv kopie.txt copy.txt
    // Smazání souboru
    roman@virtual ~/pokusy $ rm copy.txt
    roman@virtual ~/pokusy $ rm copy.txt
    rm: cannot remove 'copy.txt': No such file or directory
    // Potlačení chybových hlášek
    roman@virtual ~/pokusy $ rm -f copy.txt
    // Kopírování adresáře
    roman@virtual ~ $ cp pokusy pokusy2
    cp: omitting directory 'pokusy'
    roman@virtual ~ $ cp -r pokusy pokusy2
    roman@virtual ~ $ rm pokusy2
    rm: cannot remove 'pokusy2': Is a directory
    roman@virtual ~ $ rm -r pokusy2
    roman@virtual ~ $ rm -rf pokusy2
    Symbolický odkaz
    roman@virtual ~/pokusy $ cp text.txt kopie.txt
    // Vytvoří symbolický odkaz mezi soubory
    roman@virtual ~/pokusy $ ln -s kopie.txt odkaz.txt
    roman@virtual ~/pokusy $ ls -l // Odkaz
    roman@virtual ~/pokusy $ rm kopie.txt
    roman@virtual ~/pokusy $ ls -l  // Rozbitý odkaz
    roman@virtual ~/pokusy $ cp text.txt kopie.txt
    roman@virtual ~/pokusy $ ls -l
    roman@virtual ~/pokusy $ rm odkaz.txt
    roman@virtual ~/pokusy $ ls -l
    Přístupová práva
    // Zjístění práv
    roman@virtual ~/pokusy $ ls -l
    total 4
    -rw-rw-r-- 1 roman roman 14 Feb 11 11:57 text.txt // (práva, vlastník, skupina)
    // Odebrání práva zápisu
    roman@virtual ~/pokusy $ chmod u-w text.txt
    roman@virtual ~/pokusy $ gedit text.txt // Nelze uložit
    // Odebrání práva na čtení
    roman@virtual ~/pokusy $ chmod u-r text.txt
    roman@virtual ~/pokusy $ cat text.txt
    cat: text.txt: Permission denied
    // Vrácení práv zpět
    roman@virtual ~/pokusy $ chmod u+rw text.txt
    // Odebrání práva spouštění adresáři
    roman@virtual ~ $ chmod u-x pokusy
    roman@virtual ~ $ ls pokusy/
    ls: cannot access 'pokusy/text.txt': Permission denied
    text.txt
    roman@virtual ~ $ cd pokusy/
    bash: cd: pokusy/: Permission denied
    roman@virtual ~ $ touch pokusy/soubor.txt
    touch: cannot touch 'pokusy/soubor.txt': Permission denied
    roman@virtual ~ $ chmod u-r pokusy
    roman@virtual ~ $  ls pokusy
    ls: cannot open directory 'pokusy': Permission denied
    roman@virtual ~ $ chmod u+x pokusy
    roman@virtual ~ $ cd pokusy
    roman@virtual ~/pokusy $ ls
    ls: cannot open directory '.': Permission denied
    roman@virtual ~/pokusy $ cat text.txt
    Hello world!!
    roman@virtual ~/pokusy $ cd ..
    // Přiřazení práv pro čtení a spuštění
    roman@virtual ~ $ chmod u=rx pokusy/
    roman@virtual ~ $ touch pokusy/soubor.txt
    touch: cannot touch 'pokusy/soubor.txt': Permission denied
    // Přidání práva zápisu
    roman@virtual ~ $ chmod u+w pokusy/
    roman@virtual ~ $ touch pokusy/soubor.txt
    // hodnota	právo
    // 0	---
    // 1	--x
    // 2	-w-
    // 3	-wx
    // 4	r--
    // 5	r-x
    // 6	rw-
    // 7	rwx
    roman@virtual ~ $ chmod 721 soubor.txt
    roman@virtual ~ $ chmod 711 public_html
    Úkoly
- 
            Pomocí ssh se připojte na server phoenix.inf.upol.cz. Ve složcepublic_htmlupravte obsah souboruwelcome.html. Vypište na obrazovku obsah souboruwelcome.html.
- 
            Ve své domovské složce vytvořte složku unixa v ní 5 souborů. Nasledně vytvořte kopii teto složky a původní smažte.
- 
            Vypiště podrobný seznam souborů v domovském adresáři. Zkuste si vybraného souboru změnit práva.