Linux a Terminál

Linux

GNU


Jak vznikl Linux?


Proč zrovna linux?

Filozofie linuxu

Linux Filesystem

/                       # root, Počátek disku
├── bin/                # Základní spustitelné programy
├── dev/                # Všechny disky, serial porty, perifierie a mnoho dalšího
├── etc/                # Konfigurační soubory systému, služeb a programů
├── usr/                # Uživatelská data a programy
│   ├── bin/            # Základní spustitelné programy (/bin odkazuje na /usr/bin)
│   ├── man/            # Dokumentace k programům
│   ├── lib/            # Různé knihovny
│   ├── local/          # Lokálně nainstalované programy a jejich data
│   └── share/          # Sdílená data programů, dokumentace a spoustu dalšího
├── home/               # Domácí složka, kde jsou uživatelé
├── lib/                # Systémové knihovny
├── sbin/               # Systémové spustitelné programy
├── tmp/                # Dočasné soubory, které se po restartu vymaží
└── var/                # Ukládání promněnlivých dat
    ├── log/            # Různé logy systému a služeb
    ├── lock/           # Prevence konfilktů mezi programy
    └── tmp/            # Dočasné soubory

Jak fungují soubory v Linuxu?

Rozlišování soborů

Pohybování po systému

Opravnění souborů

  • r = číst (read)
  • w = psát (write)
  • x = spustit (execute)
  • 4 = číst (read)
  • 2 = psát (write)
  • 1 = spustit (execute)
    Tyto čísla se nakonec sčítají > vyjde finální číslo, např. 6 = číst, psát ale ne spustit
  • Na zapamatování, znám krásnou báseň od našeho učitele kybernetiky:

"r,w,x
4,2,1" - Nathan


Distribuce


Instalace

  • Uživatele a jejich hesla
  • Rozdělení disku na oddíly – swap, root, boot
  • Swap = oddíl na disku, který se používá při zaplnění fyzické paměti RAM, ve windows známé jako pagefile

Terminál

Piping

Při pipingu se používá operátor |, který přesměruje výstup jednoho příkazu do jiného

Writing

Pokud chceme zapsat výstup příkazu do souboru, můžeme použít operátor > a za něj napsat jméno souboru. Pokud už soubor existuje, přepíše ho.

Appending

Dělá to samé jako writing, ale když použijete operátor >> se jménem souboru, který už existuje, tak výstup přidá na konec existu


Příkazy v terminálu

Ukázky příkazů

whoami

  • whoami nám řekne za jakého uživatele jsme přihlášeni
  • Ukázka:
student@ssps:~$ whoami
student
student@ssps:~$

id

  • id nám ukáže ID uživatele a skupin, kterých je členem
  • Ukázka:
student@ssps:~$ id
uid=1000(student) gid=1000(student) groups=1000(student),998(wheel)
student@ssps:~$ 

uname

  • uname neboli unix name, nám vypíše systémové údaje o našem stroji
  • Argumenty:
  • -a (všechno) = vypíše nám všechny možné informace o systému
  • -n (hostname) = vypíše nám naše síťovém jméno počítače
  • -v (verze kernelu) = vypíše nám verzi kernelu
  • ...
  • Ukázka:
student@ssps:~$ uname -a
Linux KempyMachine 6.15.2-arch1-2 #1 SMP PREEMPT_DYNAMIC Tue, 10 Jun 2025 20:00:00 +0000 x86_64 GNU/Linux
student@ssps:~$ 
``

cd <cílový adresář>

  • cd neboli change directory je jeden z nejpoužívanějších příkazů, slouží k přesuntí z adresáře do jiného adresáře
  • Ukázka:
student@ssps:~$ cd Desktop
student@ssps:~/Desktop$ 

ls

  • ls neboli list, nám vypíše soubory a adresáře v momentálním adresáři
  • Nepovinné argumenty:
  • -l (long listing) = vypíše více informací o souborech a adresářích
  • -a (all) = vypíše všechny soubory a adresáře (i skryté)
  • ...
  • Ukázka:
student@ssps:~/Pictures$ ls -la 
total 15547
drwxr-xr-x    5 student student   4096 feb   6 15:12 .
drwx--x---   15 student student   4096 feb  13 16:41 ..
-rwx------    1 student student   2506 feb  24 23:36 .cat.jpg
-rwxrwx---    1 student student   4849 feb  24 23:36 dog.png
student@ssps:~/Pictures$

mkdir <jméno složky>

  • mkdir neboli make directory, nám vytvoří nový adresář
  • Ukázka:
student@ssps:~$ mkdir Adresar1
student@ssps:~$ cd Adresar1
student@ssps:~/Adresar1$ 

rmdir <jméno složky>

  • rmdir neboli remove directory, nám vymaže prázdný adresář
  • Ukázka:
student@ssps:~$ rmdir Adresar1
student@ssps:~$ cd Adresar1
cd: no such file or directory: Adresar1

student@ssps:~$ 

touch <soubor>

  • touch nám vytvoří nový soubor
  • využívá se na upravování metadat u souborů, jako třeba pro změnu času poslední úpravy souboru

cat <soubor>

  • cat neboli concatenate, nám vypíše obsah souboru
  • Ukázka:
student@ssps:~$ cat soubor.txt
Ahoj

student@ssps:~$ 

cp <původní místo> <cílové místo>

  • cp neboli copy, nám zkopíruje soubor nebo adresář
  • můžeme použít switch -r aby nám rekurzivně zkopíroval adresář, to znamená že nám zkopíruje soubory a adresáře v něm
  • Ukázka:
student@ssps:~$ ls
soubor.txt

student@ssps:~$ cp soubor.txt soubor1.txt
student@ssps:~$ ls
soubor.txt soubor1.txt

student@ssps:~$

mv <původní místo> <cílové místo>

  • mv neboli move, nám přesune soubor nebo adresář
  • lze použít pro přejmenování adresářů nebo souborů
  • Ukázka:
student@ssps:~$ ls
adreasrr

student@ssps:~$ mv adreasrr adresar
student@ssps:~$ ls
adresar

student@ssps:~$ 

rm <soubor/adresář>

  • rm neboli remove, nám vymaže soubory nebo adresáře
  • používáme hlavně switch -rf, který nám smaže celý adresář s věcmi uvnitř něj
  • Ukázka:
student@ssps:~$ ls
MyLife

student@ssps:~$ rm -rf MyLife/
student@ssps:~$ ls

student@ssps:~$ 

tree

  • Vypíše rozvětvení adresářů a souborů v nich
  • Ukázka:
student@ssps:~$ tree
├── Downloads/ 
├── Pictures/ 
└── Public/ 
    ├── obrazek.jpg
    └── textak.txt

3 directories, 2 files
student@ssps:~$ 

pwd

  • pwd neboli print working directory, nám zobrazí absolutní cestu aktuálního adresáře
  • Ukázka:
student@ssps:~$ pwd
/home/student/

student@ssps:~$ 

vim/nano/micro (textové editory)

  • Textové editory nám pomáhají upravovat čisté UTF8/ASCII soubory, mají speciální funkce, podle toho, který využijeme
  • Nano je nejjednodušší pro uživatele na pochopení
  • Vim je naopak težší, ale jde si v něm více vyhrát a upravit si ho
  • Ukázka:
První řádek

Třetí řádek :)
~
~
~
~
~
:                                                    0,0-1  All

grep

  • grep neboli global regular expression print, nám vyhledá specifický string v souboru
  • Argumenty:
  • -r (rekurzivní) = vyhledá i v podsložkách
  • -i (ignoruje kapitalizaci) = ignoruje, zda je písmeno velké, či malé
  • -E (regulérní exprese - regex) = pomocí tohoto argumentu nemusíme hledat string, ale regex
  • ...

sudo <příkaz>

  • sudo neboli superuser do spustí příkaz jako privilegovaný uživatel root, který má právo na systému udělat cokoliv
  • Ukázka: Spuštění příkazu jako neprivilegovaný uživatel
student@ssps:~$ apt update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)

V ukázce vidíte, že příkaz na aktualizaci repozitářů selhal, protože uživatel student na něj nemá oprávnění.

  • Ukázka: Spuštění příkazu s použitím sudo
student@ssps:~$ sudo apt update
[sudo] password for student:         
Hit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:3 http://packages.microsoft.com/repos/code stable InRelease
Hit:4 http://cz.archive.ubuntu.com/ubuntu jammy InRelease

Naopak při použití sudo příkaz fungoval, protože byl spuštěn jako uživatel root

chmod

  • chmod neboli change mode, nám změní oprávnění adresáře nebo souboru
  • Příklady použití:
  • chmod 764 soubor -> nastaví práva rwx pro vlastníka, rw- pro vlastníkovu skupinu a r-- pro ostatní
  • chmod u+rwx,g+rw,o+r soubor -> vykoná totéž jako předchozí příklad

chown

  • chown neboli change ownership, nám změní vlastníka souboru/adresáře

wget

  • Používá se k nahrávání nebo stahování dat z nebo na server
  • Zabudované rekurzivní stahování
  • Je vysoce konfigurovatelný

curl

  • Stahuje soubory z internetu
  • Oproti wget podporuje více protokolů, avšak je méně konfigurovatelnější

file <soubor>

  • Používá magic numbers na zjištění typu souboru
  • Ukázka:
student@ssps:~$ file word-dokument.docx
word-dokument.docx: Microsoft Word 2007+

student@ssps:~$ 

top/htop/btop

  • Systémové monitory, ukazují nám vizuální využítí systému
<< Úvod do Kybernetiky Základy počítačových sítí >>