Základní práce s Linuxem Flashcards
Linux – základní popis -
Operační systém Linux používá Unixové jádro, které vychází z myšlenek Unixu a respektuje příslušné standardy POSIX a Single UNIX Specification.
Linux – základní popis - Architektura
64bit, 32bit
Linux – základní popis - user
monouser i multiuser
Linux – základní popis - jaký tasking
multitasking – umožňuje spouštět více programů (úloh) najednou
Linux – základní popis - jaký software
svobodný a otevřený software – všechen 5W je volně dostupný, kdokoliv si jej může zdarma stáhnout a modifikovat jej dle libosti
Linux – základní popis - jaký licence
GNU GPL – všeobecná veřejná licence zdrojový kód programu je otevřený a volně dostupný a jakýkoliv software odvozený z kódu je rovněž volně dostupný
Části OS
jádro
knihovny
moduly
distribuce
Části OS - jádro
KERNEL — komunikuje přímo s HW, správa operační paměti, procesů a souborů. Linux je samotné jádro.
Části OS - knihovny
(libraries) jsou klíčovou součástí systému. Velké množství kódu je právě v knihovnách.
Části OS - moduly
(programy pro jednotlivé funkce, např. ovladače) lze zakompilovat do jádra, nebo je zavádět podle potřeby za provozu uvolnění paměti pro jiné aplikace)
Části OS - distribuce
sestavy , obsahující programy pro používání a správu OS - příkazové procesory (shelly — rozhraní mezi uživatelem a os), instalátory, grafické uživatelské rozhraní, nástroje pro správu, textové editory, poštovní programy, překladače a filtry, GUI (grafické rozhraní— X11, správce oken a prostředí). Lepší vysvětlení níže.
Výhoda Linuxu
každý si může měnit Linux podle svých představ
Distribuce Linuxu
Není žádný ten „Linux” - Linux jako takový je pouze jádro operačního systému. K tomu, aby bylo možné počítač s Linuxem používat, je nutné doplnit jádro o další programy.
Protože jsou programy, nástroje i aplikace na internetu dostupné v podobě zdrojových kódů, které je nejprve nutné přeložit do formy spustitelných souborů, bylo by pro uživatele velmi nepohodlné, kdyby si vše musel dělat sám. Proto existují tzv. distribuce, které obsahují vše potřebné v úhledném balení — přeložené binární soubory včetně instalačního programu, který umožňuje připravit Linux na uživatelově počítači k okamžitému používání (avšak Linux lze používat i bez instalace pomocí tzv. Live CD).
Distribuce jsou sestavovány jednotlivci, týmy dobrovolníků, ale i komerčními firmami. Distribuce zahrnuje jádro, další systémový aplikační software, grafické uživatelské rozhraní.
Mezi nejznámější distribuce Linuxu patří Ubuntu, CentOS, Debian, Fedora a další.
Základy práce v Linuxu - Typy souborů
obyčejné soubory (texty, data, spustitelné programy)
adresářové soubory — obsahují informace o adresářích a souborech
speciální blokové soubory – b (např. disky)
speciální znakové soubory – c (např. terminály a tiskárny)
speciální soubory typu fifo (pojmenované roury)
speciální soubory typu socket (slouží ke komunikaci mezi procesy, a to buďto na lokálním stroji, nebo mezi vzdálenými stroji, po síti. Na rozdíl od rour podporují oboustrannou komunikaci)
zařízení (harddisky, síťové disky) jsou montována (mapována) jako soubor do jediné adresářové struktury
Základy práce v Linuxu - Adresářová struktura
je hierarchická
nejvyšší úrovní adresářové struktury je kořenový adresář - /
adresáře se oddělují znakem „/ - backslash” („", tento znak se používá ve Windows)
jména souborů a adresářů mohou obsahovat libovolné znaky kromě mezery a / (pokud chceme použít mezeru, musíme název obalit uvozovkami, např.: “soubor s mezerami.txt” nebo soubor\ s\ mezerami.txt — ale nedoporučuje se používat tenhle zápis)
skryté soubory se označují tečkou před jménem souboru
Oprávnění
Každý soubor, program či spuštěný proces v Linuxu má nastaveny tzv. přístupová práva. Tyto práva definují, kdo má oprávnění soubory či adresáře číst, měnit či spouštět. Práva jsou rozdělena do 3 typů — čtení, zápis a spouštění (procházeni a jsou definována pro 3 kategorie — vlastníci, skupiny a ostatní.
Práva:
čtení (r–4) - umožňuje číst obsah souboru, číst pouze seznam souborů v adresáři
zápis (w–2) - umožňuje měnit obsah souboru či adresáře
spouštění (x–1) - umožňuje měnit obsah souboru, vstoupit do adresáře
Kategorie:
vlastník (u) - vlastník (uživatel) souboru nebo adresáře
skupina (g) - skupina souboru nebo adresáře
ostatní (o) - všichni ostatní, kdo nespadají do skupiny ani nejsou vlastníky
Jakým příkazem se mění oprávnění
Oprávnění se mění příkazem chmod, podle toho, jaká práva chci přidělit, se píšou čísla
Příkazem chmod 757 text1.txt vznikne následující text1 rwx r-x rwx
Přihlášení uživatele
Pozor! Heslo se nezobrazuje. V Linuxu jsou rozlišována malá a velká písmena.
na každé konzole se můžeme (ale nemusíme) přihlásit jako někdo jiný
přepínáni pomocí Alt+F1 až Alt+F6
přepínáme-li z grafického uživatelského rozhraní, použijeme Ctrl+ Alt+F1. až Ctrl+Alt+F6, pro návrat Alt+F7
Shell
příkazový interpret (příkazová řádka) základní prostředek pro komunikaci uživatele se systémem
shell může pracovat ve dvou režimech:
interaktivní režim — postupné zadávání příkazů z příkazové řádky
neinteraktivní režim — vstup příkazů je realizován ze souborů (skriptů)
je case-sensitive (rozdíl mezi malými a velkými písmeny)
oproti MS-DOSu spousta vymožeností
1 uživatel = 1 shell (root - #, obyčejný uživatel - $)
v Linuxu možno vybrat z několika shellů, nejčastěji se používá interpret BASH (kompatibilní s unixovou normou POSIX), je automaticky spouštěn při startu
možnost programování (proměnné, cykly, podmínky)
Užitečné klávesy v shellu
Příkazová řádka (shell) v Linuxu je mocný nástroj. Umožňuje editaci příkazů i názvů souborů, listování v historii příkazů, programování skriptů.
CTRL + C – ukončení běžícího příkazu nebo souboru
Tab – Pokud ji stiskneme na prázdné příkazové řádce, vypíše se seznam všech příkazů. (po dotazu, jestli to nebyl překlep) Mnohem užitečnější je zadat několik prvních písmen příkazu a pak stisknout TAB. Funguje i pro názvy souborů – mo mo more mount montage monitest
CTRL + L – smazání obrazovky (clear)
Cesta k souboru
Soubory uložené v jiném než aktuálním adresáři, musíme v příkazech zapsat včetně cesty, tedy sledu průchodu adresáři k souboru, oddělenými lomítky /. Používají se 2 způsoby – absolutní (od kořenového adresáře) a relativní (z právě aktuálního adresáře).
Zástupné znaky
Abychom mohli v rámci jednoho příkazu zpracovat více souborů, název souboru nahradíme nebo doplníme zástupnými znaky.
*- označuje všechny znaky nebo objekty, ? — označuje jeden znak v řetězci
[1,2,3] — výčet znaků
pokus[1,2,3] – všechny soubory pokus1, pokus2, pokus3
pokus[1,2,3].[txt,doc] — všechny soubory pokusl.txt, pokus2.txt, pokus3.txt, pokus1.doc, pokus2.doc, pokus3.doc
Základní příkazy
Syntaxe: příkaz parametry argumenty
man – zobrazení manuálové stránky (nápovědy)
–help - zobrazení nápovědy
pwd – vypíše absolutní cestu k aktuálnímu pracovnímu adresáři
cd – změna pracovního adresáře
cd .. - přechod do nadřazeného adresáře
cd / - přechod do kořenového adresáře
Znak . značí aktuální adresář, Používá se pro zadání relativní cesty do adresáře nebo k souboru,
ls – výpis obsahu adresáře
al – dlouhý výpis aktuálního adresáře včetně skrytých souborů
Is -d mf vypíše všechny soubory začínající na m a končící na f
mkdir - vytvořeni adresáře
rmdir - vymaže adresář (adresář musí být prázdný)
cp - kopírováni souborů a adresářů -> cp ZDROJ CÍL
touch – vytvořeni souboru, nebo jeho aktualizace
rm – odstranění souboru
cat – výpis souboru a spojování souborů
grep – prohledává uvedené soubory a hledá zadanou část textu
grep ‘hledany retezec’ soubor
grep – v ‘hledany retezec’ soubor - vypíše řádky, které neobsahují zadaný text
Is D - vypíše všechny soubory začínající na D nebo jen
useradd – přidání uživatele
passwd – změna hesla uživatele
ps-a – zjištění PID běžících programů
kill – vypnut( programu při zadání příslušného PID
Skripty
Začátek každého skriptu musí obsahovat: #!/bin/bash
chmod 777 skript.sh
Spuštění skriptu: ./skript.sh
#!/bin/bash //u každého skriptu
echo “Zadej nazev souboru:”
read file
echo “Zadej kolikaty radek chces vypsat:”
read radek
result=$(head -$radek $file | tail -1)
echo “Paty radek obsahuje: $result”
Obsah lze upravovat pomoci příkazu vim skript.sh, odchod z vimu je ctrl+c > :qw (quitwrite)