UNIX1
Úvod do UNIXu
Ve²kerá práva vyhrazena.
Tento materiál je sou£ástí du²evního vlastnictví spole£nosti GOPAS a.s.
a jeho ²í°ení podléhá autorskému zákonu. Nesmí být reprodukován £i jinak vyuºíván
v jakékoliv form¥ ani jako celek, ani ºádná jeho £ást bez písemného souhlasu
spole£nosti GOPAS a.s.
c
GOPAS
a.s.
Uºite£né informace ke kurzu :
Úvod do UNIXu
• Garance získaných v¥domostí
Garance získaných v¥domostí umoº¬uje v²em ú£astník·m na²ich kurz· bezplatn¥ si zopakovat jiº absolvovaný kurz.
Neklademe si ºádné podmínky a na nic se neptáme. Chce-li n¥který z Va²ich zam¥stnanc· na kurz podruhé, má u nás
dve°e otev°eny.
• Co je to Garance získaných v¥domostí ?
Nikdo z nás není dokonalý a ne kaºdému p°irostly po£íta£e k srdci hned na poprvé. M·ºe se tedy kdykoli stát, ºe
n¥který z absolvent· po£íta£ového kurzu n¥kterou £ást probírané tématické látky zcela nepochopí. šádné ²kolicí st°edisko
nedokáºe svým zákazník·m zaru£it stoprocentní ú£innost jejich kurzu. Rozhodli jsme se nabídnout na²im klient·m Garanci
získaných v¥domostí, protoºe jsme p°esv¥d£eni o tom, ºe je to nejlep²í moºnost, jak na²im klient·m zajistit jejich maximální
spokojenost.
• Co zásadního p°iná²í Garance získaných v¥domostí Va²í firm¥ ?
Posíláte-li své zam¥stnance na kurzy do Po£íta£ové ²koly GOPAS, m·ºete si být jistí efektivní a garantovanou investicí Vámi
vynaloºených finan£ních prost°edk· na ²kolení.
• Jak vyuºít Garance získaných v¥domostí ?
Jediné, co sta£í ud¥lat, je zaºádat o vyuºití Garance získaných v¥domostí do 1 m¥síce od posledního dne konání Vámi
absolvovaného kurzu. Termín opakovaného kurzu je t°eba domluvit s klientským servisem, který klientovi nabídne moºné
termíny pro opakování kurzu. V p°ípad¥, ºe se vybraný termín obsadí ú£astníky, kte°í jdou na kurz poprvé, bude Vás
kontaktovat ná² klientský servis a nabídne Vám dal²í termín. V p°ípad¥, ºe je kurz zakon£en oficiální zkou²kou výrobce
produktu, je nutné tuto zkou²ku doplatit. Ú£astník nemá nárok na ob¥dy zdarma a na u£ební materiály (ty mu z·stávají
z p°edchozího kurzu). Nárok na opakování kurzu platí po dobu jednoho roku od prvního absolvování kurzu. P°ípadné
prodlouºení této doby, zvlá²t¥ u kurz· jejichº £etnost je malá, lze pouze po dohod¥ s klientským servisem. Garance
se vztahuje na v²echny otev°ené kurzy provád¥né v interních prostorách GOPAS, a.s. s cílem umoºnit jim opakování
absolvovaného kurzu. Jedinou podmínkou pro vyuºití této nabídky je zaºádat o opakování kurzu do 1 m¥síce po absolvování
kurzu pr·kaznou formou (dopisem, faxem) v odd¥lení klientského servisu.
Ve²keré dal²í odpov¥di na va²e otázky naleznete na na²ich stránkách - www.gopas.cz,
nebo se p°ímo obra´e na klientský servis na²í spole£nosti +420 234 064 900-3.
Úvod do UNIXu
Kód kurzu : UNIX1
Úvod do UNIXu
Gopas a.s.
Cíle kurzu
•
•
•
•
•
•
[email protected]
Seznámit se s principy OS UNIX
Získat přehled základní práce v UNIXu
Orientace v různých UNIXových OS
Práce se souborovým systémem
Práce s procesy
Přehled základních systémových programů
1/34
Úvod do UNIXu
Kód kurzu : UNIX1
Úvod
• Přehled základní terminologie
• HW a SW koncepce
• Co je OS ?
Přehled HW vybavení
[email protected]
2/34
Úvod do UNIXu
Kód kurzu : UNIX1
Co je „operační systém“ ?
• Operační systém je program, resp. kolekce
programů, která vytváří spojující mezivrstvu mezi
hardware výpočetního systému (jenž může být
někdy virtualizován) a uživateli a jejich
uživatelskými aplikačními programy.
• Role OS:
– Správa prostředků (sdílení, efektivní a bezpečné
využití)
– Rozhraní pro aplikace/uživatele
• Abstrakce (program vs. proces, soubor vs. adresář)
Architektura OS
• OS je obvykle chápán tak, že zahrnuje
– Jádro (mikrojádro, monolitické, hybridní)
– Systémové knihovny a systémové programy
(utility)
– Rozhraní (textové nebo grafické)
[email protected]
3/34
Úvod do UNIXu
Kód kurzu : UNIX1
Klasifikace OS
• Podle účelu
– Univerzální (UNIX, Windows, Linux, …)
– Specializované (real-time: QNX, …)
• Podle počtu uživatelů
– Jednouživatelské (MS-DOS)
– Víceuživatelské (UNIX, Windows)
• Podle počtu běžících úloh
– Jednoúlohové
– Víceúlohové (multitasking: preemptivní vs.
nepreemptivní)
Funkce OS
•
•
•
•
•
•
[email protected]
Řízení HW
Správa prostředků (HW i SW)
Uživatelský interface
Zpracování vstupu a výstupu
Monitorování a správa systému
Komunikace (otevřená, TCP/IP)
4/34
Úvod do UNIXu
Kód kurzu : UNIX1
Interface
• Textový
• Grafický
Výhody OS UNIX
•
•
•
•
•
[email protected]
Bezpečnost
Škálovatelnost
Otevřené technologie (POSIX, X/OPEN, SUS)
Interoperabilita
Filozofie: „skládání složitějších programů z
jednodušších“
5/34
Úvod do UNIXu
Kód kurzu : UNIX1
Koncepce jádra UNIXu
• Podsystémy
– Správa souborů
– Správa procesů
Historie vývoje UNIXu
• 1961: CTSS (Compatible Time-Sharing System)
• 1965: MULTICS – Multiplexed Information and Computation Service
(Bell Labs, MIT, General Electric)
• 1969: Začátek vývoje nového OS – PDP 7 (K. Thompson, D. Ritchie)
• 1970: Zavedeno jméno UNIX
• 1971: PDP-11 (24KB RAM, 512KB disk) – text processing
• 1972: asi 10 instalací
• 1973: UNIX přepsán do C
• 1977: Berkeley Software Distribution – BSD
• 1978: SCO (Santa-Cruz Operation) – první Unixová společnost
• 1980:
– DARPA si vybrala UNIX jako platformu pro implementaci TCP/IP.
– Microsoft a jeho XENIX
[email protected]
6/34
Úvod do UNIXu
Kód kurzu : UNIX1
Historie vývoje UNIXu
• 1982: Sun Microsystems
• 1983:
– AT&T UNIX System V
– BSD 4.2 – síť TCP/IP
– GNU, R. Stallman
•
•
•
•
•
•
•
1984: X/OPEN XPG
1985: POSIX (IEEE)
1987: AT&T, SUN: System V Release 4 a OSF/1
1991: Solaris, Linux
1992: 386BSD
1994: Single Unix Specification (The Open Group)
1998:
– začátek prací na sloučení základu SUS a POSIX
– open source software
• 2002: SUS v3 – zahrnuje POSIX, poslední revize 2008 (SUS v4)
Varianty UNIXu
• Hlavní větve OS UNIXového typu:
–
–
–
–
UNIX System V
BSD UNIX
různé firemní varianty (AIX, HP-UX, Solaris, ...)
Linux
• Související normy:
–
–
–
–
–
–
[email protected]
XPG – X/OPEN
SVR4 – AT&T a SUN
OSF/1
Single UNIX Specification
POSIX – IEEE standard
Single UNIX Specification v3/v4 – shell a utility (CLI) a API
7/34
Úvod do UNIXu
Kód kurzu : UNIX1
Základní koncepty
• Dva základní koncepty (abstrakce): procesy a
soubory
• IPC – Inter-Process Communication
• I/O – Input/Output
Přístup k UNIXu
• Lokální / vzdálené přihlášení (ssh, telnet)
[email protected]
8/34
Úvod do UNIXu
Kód kurzu : UNIX1
Změna hesla
Syntax příkazů
• příkaz [volby] [argumenty]
• příkaz – říká co se má spustit (co se bude dělat)
• volby – modifikují chování programů (příkazů)
• argumenty – určují s čím se bude pracovat
(obvykle soubory)
$ who –H /var/log/wtmp
[email protected]
9/34
Úvod do UNIXu
Kód kurzu : UNIX1
Základní příkazy
•
•
•
•
•
•
date – aktuální datum a čas
cal – kalendář
echo [text] – výpis textu na terminál
clear – smazání obsahu terminálu
finger – informace o uživateli
who – výpis přihlášených uživatelů
Nápověda, dokumentace, informace
• Manuálové stránky
– man
– man příkaz
– man –k klíčové_slovo (podobně apropos)
• Info
– info bash
• How-to
• /usr/share/doc
• Systémová dokumentace
[email protected]
10/34
Úvod do UNIXu
Kód kurzu : UNIX1
Práce v shellu
• Poskytuje rozhraní pro zadávání příkazů
• Speciální znaky (metaznaky) a funkce (řízení
procesů)
• Programový interface (skriptování)
• Každý shell může být jiný (míra odlišnosti je
různá)
Souborový systém
•
•
•
•
•
[email protected]
Hierarchická struktura adresářů
Různé typy souborů
Navigace ve FS (File System)
Expanzní metaznaky (wildcards)
Příkazy pro práci se soubory/adresáři
11/34
Úvod do UNIXu
Kód kurzu : UNIX1
Stromová struktura
Struktura souborů a adresářů
• / - kořenový adresář
• V názvu
souboru/adresáře může
být libovolný znak kromě
/ a \0 (null character)
• Aktuální adresář – místo v
adresářové struktuře, kde
se nacházíme
• Provázání adresářů: . a ..
[email protected]
12/34
Úvod do UNIXu
Kód kurzu : UNIX1
Cesta (path, pathname)
• Absolutní cesta:
/u/jeffrey/Assignments/product_guide
• Relativní cesta (když jsme v adresáři
/u/jeffrey): Assignments/product_guide
Typy souborů
[email protected]
13/34
Úvod do UNIXu
Kód kurzu : UNIX1
Typy souborů - výpis
• ls -la
Klasický UNIXový FS
[email protected]
14/34
Úvod do UNIXu
Kód kurzu : UNIX1
i-node (i-uzel)
• Základní datová struktura popisující soubor v UNIXu.
• i-uzel obsahuje metadata:
–
–
–
–
–
–
–
–
–
–
–
stav i-uzlu (alokovaný, volný)
typ souboru (obyčejný, adresář, zařízení, ...)
délka souboru v bajtech
mtime = čas poslední modifikace dat
atime = čas posledního přístupu
ctime = čas poslední modifikace i-uzlu
UID = identifikace vlastníka (číslo)
GID = identifikace skupiny (číslo)
přístupová práva (číslo, například 0644 znamená rw-r–r–)
počet pevných odkazů (jmen)
tabulka odkazů na datové bloky:
•
•
•
•
10 přímých odkazů
1 nepřímý odkaz první úrovně
1 nepřímý odkaz druhé úrovně
1 nepřímý odkaz třetí úrovně
– (odkaz na) další informace (ACL, extended attributes, dtime, ...)
i-node struktura
[email protected]
15/34
Úvod do UNIXu
Kód kurzu : UNIX1
Příkazy pro práci se soubory
•
•
•
•
•
•
•
•
•
cd – změna aktuálního adresáře
ls – výpis informací o souboru/adresáři
cp – kopírování souboru
mv – přesunutí/přejmenování souboru
rm – odstranění souboru
mkdir – vytvoření adresáře
rmdir – zrušení adresáře
ln – vytvoření linku
touch – modifikace ctime/vytvoření souboru
Příklad: cp a mv
[email protected]
16/34
Úvod do UNIXu
Kód kurzu : UNIX1
Linky
Expanzní metaznaky
• Wildcards:
– * - shoduje se se vzorem libovolného počtu znaků
– ? – shoduje se právě s jedním znakem
– [vzor] – shoduje se právě s jedním znakem z
množiny znaků vzoru
– [!vzor] – negace množiny
• ls –l [Ss]oubory*.txt
[email protected]
17/34
Úvod do UNIXu
Kód kurzu : UNIX1
Příklad expanze
Práce s obsahem souboru
• cat – výpis obsahu jednoho a více souborů na
terminál
• more – filtr, výpis po stránkách/řádcích
• less – podobně jako more
• strings – výpis tisknutelných znaků
• head – zobrazení prvních (defaultně 10) řádků
• tail – zobrazení posledních (defaultně 10)
řádků
[email protected]
18/34
Úvod do UNIXu
Kód kurzu : UNIX1
Určení „obsahu“ souboru
• type – typ příkazu
• file – typ souboru
• which – co se spouští
Hledání souboru
• find – příkaz pro hledání souboru podle více
kritérií (jméno, i-node, typ, modifikace,
velikost, …), nehledá podle obsahu
– Umožňuje spouštět příkaz nad nalezenými
soubory
– find . –name pokus
– find /tmp –name pokus\* -type d print
[email protected]
19/34
Úvod do UNIXu
Kód kurzu : UNIX1
Hledání v obsahu souboru
• grep – prohledá obsah souboru a nalezené řádky
vytiskne na terminál
• Výraz je regulární výraz (BRE nebo ERE)
– Specifický jazyk
• grep ahoj soubor1
• grep ‘ahoj*’ *
• find . –name ‘*’ –exec grep –q
co_hledam {} \; -print
Porovnání obsahu souborů
• diff
• cmp
[email protected]
20/34
Úvod do UNIXu
Kód kurzu : UNIX1
Řízení přístupu k souborům
• Práva přístupu a význam pro soubory/adresáře
• Změna práv a vlastnictví
• Defaultní práva při vytváření souboru
Vlastnictví souboru
• ls -l
[email protected]
21/34
Úvod do UNIXu
Kód kurzu : UNIX1
Práva
Význam práv
• Soubor
– r – otevření souboru pro čtení obsahu (cat, more,
…)
– w – otevření souboru pro zápis (vi, …)
– x – spuštění (jako příkaz)
• Adresář
– r – zobrazení obsahu adresáře (ls)
– w – vytváření a mazání souborů v adresáři
– x – prohledání adresáře a přepnutí příkazem cd
[email protected]
22/34
Úvod do UNIXu
Kód kurzu : UNIX1
Změna práv
• Symbolický mód
Změna práv
• Absolutní mód
[email protected]
23/34
Úvod do UNIXu
Kód kurzu : UNIX1
Defaultní práva
• umask – jaká budou práva u nového souboru
• umask 0066
Editace obsahu souborů
• Textový editor
– Terminál: vi, vim, pico, nano, joe, emacs, …
– Grafické: kedit, xemacs, …
• vi je všude (měl by být)
[email protected]
24/34
Úvod do UNIXu
Kód kurzu : UNIX1
Editor vi
• 3 režimy
Editor vi - navigace
[email protected]
25/34
Úvod do UNIXu
Kód kurzu : UNIX1
Editor vi
• .exrc – nastavení výchozích vlastností
Tisk v prostředí UNIXu
• Démon, který se stará o tiskové úlohy
• Možnost několika tiskáren (lokální i síťové)
[email protected]
26/34
Úvod do UNIXu
Kód kurzu : UNIX1
Tisk v prostředí UNIXu
• System V
– lp soubor – tisk obsahu souboru soubor
– lpstat – stav tiskáren, fronta
– cancel úloha – zrušení úlohy
• BSD
–
–
–
–
lpr soubor – tisk obsahu souboru soubor
lpq – fronta úloh
lpc – stav tiskáren
lprm – zrušení úlohy
• Proměnná prostředí PRINTER
Vstup a výstup
• Koncepce UNIXových programů zavádí 3
standardní kanály pro práci se soubory
– STDIN – standardní vstup (0)
– STDOUT - standardní výstup (1)
– STDERR - standardní chybový výstup (2)
[email protected]
27/34
Úvod do UNIXu
Kód kurzu : UNIX1
Přesměrování vstupu a výstupu
Roura a filtry
• Nepojmenovaná roura – jednoduchý
mechanismus I/O operací mezi procesy
[email protected]
28/34
Úvod do UNIXu
Kód kurzu : UNIX1
Roura použití, kolona
Procesy
• Každý proces je unikátně identifikovatelný (PID
– Process ID)
• Běží s prioritou
• Prioritu určuje plánovač
• Hierarchie procesů
• Exit status – jak to dopadlo?
[email protected]
29/34
Úvod do UNIXu
Kód kurzu : UNIX1
Jak vznikají procesy
Plánování procesů
[email protected]
30/34
Úvod do UNIXu
Kód kurzu : UNIX1
Stavy procesů
Procesy
• Na popředí
– sleep 10
• Na pozadí
– sleep 10 &
• Správa úloh (job controlling)
– Stop signál (Ctrl+Z)
– bg – předání procesu na pozadí
– fg – předání procesu na popředí
– jobs – seznam úloh
[email protected]
31/34
Úvod do UNIXu
Kód kurzu : UNIX1
Signály
• Mechanismus řízení procesů
– Pro ukončení, časovač, chyba
– Ignorovatelné a neignorovatelné
• kill – zaslání signálu
– Každý signál má číslo >0
– kill -9 PID
• Ctrl+C – signál INT (2)
• Ctrl+\ - signál QUIT (3) – většinou generuje
coredump
Terminál
• Sezení uživatele
• Fyzická nebo logická zařízení řídicí vstup/výstup
• Řízení – má nastavení
– stty –a
– stty intr ^N
• Rozhraní
– /dev/tty - řídicí terminál aktuálního procesu, odkaz na příslušné
terminálové zařízení
– /dev/ttyS1 – terminály na sériové lince
– /dev/tty1 – virtuální terminály
– /dev/pts/1 – pseudoterminály (emulace, ssh, …)
• Proměnná prostředí TERM
[email protected]
32/34
Úvod do UNIXu
Kód kurzu : UNIX1
Prostředí shellu
• Aliasy
– alias neco=‘ls –la’
– unalias
• Konfigurační soubory
– .profile
– .bashrc
– .kshrc
• Proměnné - řetezce
– Výpis echo $prom
– Přiřazení hodnoty prom=hodnota
– export prom
• Programový interface
– if, while, for, …
Vzdálený přístup
• telnet – nešifrované spojení, raději nepoužívat
• ssh – Secure Shell
– Vzdálené přihlašování, přenos souborů (sftp,scp)
– Tunelování X-Window rozhraní
• ftp – vzdálený přístup do FS (klient – put/get)
[email protected]
33/34
Úvod do UNIXu
Kód kurzu : UNIX1
Archivace
• tar – tape archiver
– Nejen pro pásku
– tar -cf zaloha.tar *.txt
– tar -xvf zaloha.tar
• gzip – GNU zip
– gzip -9 zaloha.tar
– gzip –d zaloha.tar.gz
• cpio
• compress
[email protected]
34/34
Download

UNIX1 Úvod do UNIXu