Toto je starší verze dokumentu!
Obsah
Linux
Linux je označení pro svobodné operační systémy (pod licencí GPLv2; mohou však být zpoplatněny použitím komerčního software) založené na linuxovém jádru (kernelu). První verzi linuxového jádra naprogramoval v jazyce C Linus Torvalds v roce 1991. Do následného vývoje se pustila celá programátorská komunita, Torvalds je ovšem stále brán jako hlavní tvůrce a na komunitní tvorbu dohlíží.
Charakteristika
Linuxové jádro je založeno na operačním systému UNIX.
UNIX (např. Solaris) je placený, používá pouze prostředí příkazové řádky a vyžaduje specifický hardware – používá se proto hlavně na velkých serverech.
Linux k příkazové řádce (CLI) přidává grafické prostředí (GUI), běží prakticky na všem, co má procesor, a je zpravidla distribuován zdarma. Jednotlivé linuxové distribuce (distra; jednotlivé verze OS založené na linuxovém jádru) se zaměřují na různé věci – existují více user-friendly (Ubuntu (založeno na OS Debian), Mint, Fedora), komerční a placené (Red Hat Enterprise Linux) i čistě CLI distra. Různorodost distribucí také rozšiřuje možnosti použití (od serverů až po klasické PC). Vyskytuje se i označení GNU/Linux, které poukazuje na první použití linuxového jádra, a to v rámci operačního systému GNU.
Vlastnosti
- POSIX – Portable Operating System Interface; zajišťuje jednotné rozhraní pro přenos aplikací mezi různými hardwarovými platformami; poděděné od systému UNIX
- multitasking – programy mohou běžet současně a vytvářet několik procesů i podprocesů, zároveň je umožněno více autentizovaným uživatelům používat systém naráz (jeden uživatel například přímo, druhý přes síť; systém disponuje dohromady šesti konzolemi)
- široká podpora souborových systémů – podporuje systémy jako EXT4, EXT3, EXT2 (původní, není žurnálovací), FAT, NTFS a další…
Souborový systém
Momentálně je hlavním souborovým systémem žurnálovací EXT4 (zapisuje si předem souborové změny pro případ výpadku).
EXT4 je zpětně kompatibilní nástupce EXT3: přidal online defragmentaci (během zápisu dat, bez nutnosti odpojení média), zvětšil maximální velikost připojeného svazku na 1 EiB (1024 PiB) s až 16TiB soubory (EXT3 max. 16 TiB a 2 TiB pro soubory) a odstranil limit podadresářů.
Adresáře jsou rozděleny do následující struktury:
- / – kořenový adresář
- /boot – umístění linuxového jádra
- /bin – základní spustitelné soubory pro všechny uživatele
- /etc – globální konfigurační soubory systému
- /home – domovské adresáře jednotlivých uživatelů
- /mnt – podadresáře s přípojnými paměťovými médii (např. /mnt/hdd)
- /media – podadresáře s vyměnitelnými médii (např. /media/<username>/cdrom)
- /root – domovský adresář superuživatele
Přístupová práva jsou podle unixového vzoru. Uživatelská jména typicky používají malé znaky ASCII tabulky a tečky místo mezer. Z přístupového hlediska je nutné mít uživatelský identifikátor UID a alespoň jedno GID (číslo skupiny), podle čehož se poté řídí oprávnění.
Existují 3 typy oprávnění: r (Read – čtení / výpis obsahu adresáře), w (Write – zápis) x (eXecute – spuštění / vstup do adresáře). Při výpisu oprávnění je prvně uveden typ (- pro soubod, d pro adresář) a pak tři trojice oprávnění (pro vlastníka, pro stejnou skupinu a pro ostatní uživatele): například -rwxrw-r-x.
Instalace software
V Linuxu se nejčastěji setkáme se svobodným software (Open/Libre Office, Gimp, XnView…), který se neinstaluje pomocí instalačních EXE souborů (Windows), nýbrž využívá repositáře – internetové servery se softwarovými balíčky pro jednotlivé distribuce. Správu balíčků umožňuje CLI, můžeme se však setkat i se správci balíčků.
Klávesové zkratky a příkazy v konzoli
Využívá se terminál (shell). Programy psané pro terminál musí být pro interpretr na začátku uvedeny pomocí #!/bin/bash (pro nejpoužívanější skriptovací shell jazyk – BASH).
Důležité jsou i zkratky pro přepínání mezi jednotlivými CLI a GUI – v Ubuntu pomocí Ctrl + Alt + F1–F7.
- sudo – spustí příkaz s administrátorským oprávněním (su navíc do superuser režimu úplně přepne)
- man čeho – manual; zobrazí dokumentace zadaného příkaze (podobný parametru -h)
- pwd – print working directory; vypíše momentální pozici
- cd – change directory; změní adresář (~ pro /home; - pro předchozí; . pro momentální; .. pro vyšší úroveň)
- ls – list; vypsat seznam souborů v aktuálním adresáři (-l pro detaily; -a pro neviditelné (. na začátku))
- cp co kam – copy; vytvoří kopii zadaného souboru
- mv co kam – move; přesune zadaný soubor
- rm co – remove; smaže zadaný soubor souboru (-r pro rekurzivní smazání celého adresáře i s obsahem; -f pro mazání silou – bez dotazů)
- chmod mód čeho – change modes; změní přístupová oprávnění k zadanému objektu (mód se skládá z označení oprávnění (1. písmeno z User/Group/Others/All), operace (=/+/-) a oprávnění (r/w/x))
- chown kdo[:skupina] čeho – change owner; změní vlastníka:skupinu zadaného objektu
- ln co kam – link; vytvoří odkaz na soubor
- mkdir co – make directory; vytvoří nový adresář v aktuálním adresáři
- rmdir co – remove directory; smaže zadaný adresář
- ps – process status; vypíše momentálně běžící procesy (-u root pro administrátorský výpis; -A pro výběr všech procesů)
- > – přesune výstup na zadané místo (např. do souboru) (2> pro přesun chybových hlášení; &> pro přesun normálního výstupu i chybových hlášení)
- » – přidá výstup na konec zadaného souboru
- kill id – zabije zadaný proces
- killall co – zabije všechny procesy se zadaným jménem
- cat co – concatenate; vypíše obsah souboru (lze určit více souborů (oddělení mezerou))
- echo co – vypíše zadaný argument (může být například systémová proměnná (značená $))
- set – vypíše systémové proměnné
- export co – vytvoří/upraví systémovou proměnnou
- grep co – vyhledá zadaný textový řetězec
- find co – vyhledá zadané složky
- ifconfig – vypíše informace o síťových rozhraních v systému
- | – přesune výstup do jiného vstupu jiného příkazu (např. set | less)
- more – vypíše výstup po jednotlivých stránkách
- less – vypíše výstup po jednotlivých stránkách, ale již nemusí načítat celý soubor načítat
- Ctrl + C – ukončí běžící proces (čeká na odpověď procesu – umožňuje vyčištění apod.)
- Ctrl + Z – vynuceně pozastaví běžící proces
- & – spustí příkaz na pozadí (dává se na konec)
- bg – přesune poslední proces z popředí na pozadí (prvně se musí pozastavit)
- fg – přesune poslední proces z pozadí do popředí (lze rovněž připsat ID procesu)
- jobs – vypíše procesy běžící na pozadí