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_html
upravte obsah souboruwelcome.html
. Vypište na obrazovku obsah souboruwelcome.html
. -
Ve své domovské složce vytvořte složku
unix
a 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.