UNIXová kartička

Transkript

UNIXová kartička
OPERAČNÍ SYSTÉM UNIX
ŠPETKA HISTORIE
Operačnı́ systém UNIX umožňuje současnou práci vı́ce uživatelů
(multiuser) a možnost současného spuštěnı́ vı́ce úloh (multitasking).
Jeho počátky spadajı́ do šedesátých let tohto stoletı́, kdy v Bellových laboratořı́ch firmy AT&T vznikl projekt nového operačnı́ho
systému MULTICS. Ten však nebyl dokončen a lidé (Ken Thompson,
Dennies Ritchie), podı́lejı́cı́ se na tomto projektu, se rozhodli pokračovat a začali vyvı́jet zprvu jednoduchý operačnı́ systém UNICS,
z kterého se postupem času vyvinul velice mocný operačnı́ systém
označovaný jako UNIX. Jeho implementace na různých hardwarových platformách jsou označovány tak, aby tento název trochu
připomı́nali: LINUX (PC), IRIX (SGI), AIX (IBM).
Historicky probı́hal vývoj UNIXu ve dvou základnı́ch větvı́ch: System V a BSD (viz obrázek). To má za následek, že některé UNIXové
programy se na různých verzı́ch UNIXu od sebe trochu odlišujı́.
UNIX Genealogy
Podle knihy
Essential System Administration
Autor AEleen Frisch, 1995
Ken Thompson
Dennis Ritchie
Bill Joy
Version 6
1975
BSD
Version 7
1977
1979
XENIX
1979
NÁPOVĚDA
UNIX rozlisˇuje již při přihlášenı́ malá a velká pı́smena! A rozlišuje je samozřejmě i po přihlášenı́, tj. napřı́klad ve jménech souborů, programů, parametrů apod. Přihlášenı́ (přilogovánı́) lze provést bud’ přı́mo na konzoli (grafické, textové) UNIXového počı́tače
nebo vzdáleně třeba pomocı́ programu telnet. V zásadě je nutné
správně zadat dvě položky:
V UNIXu existuje propracovaný systém elektronické nápovědy
označovaný jako tzv. manuálové stránky (man pages). Vyvolánı́
této nápovědy lze pomocı́ programu man. S volbou -k lze zı́skat
seznam manuálových stránek podle zadaného klı́čového slova.
login:
Password:
uživatelské jméno (username)
heslo
ODHLÁŠENÍ
Po ukončenı́ práce je třeba se odhlásit jak z lokálnı́ho počı́tače,
tak ze všech otevřených spojenı́ na jiné počı́tače! Zároveň je třeba
ukončit všechny programy nebo aplikace, u kterých nechcete, aby
zůstaly běžet po odhlášenı́.
ukončenı́ shellu
grafické rozhranı́
exit, logout nebo CTRL-D
Exit Fvwm z menu desktopu (na LINUXu)
nebo Logout v menu Toolchest (na SGI)
SHELLY
AT&T Bell Labs
1969-70
PŘIHLÁŠENÍ
System III
1982
4.2 BSD
System V.2
1984
1984
4.3 BSD
System V.3
1985
1986
Shell zpracovává přı́kazy zadané uživatelem. Existujı́ dva základnı́
shelly, Bourne a C-shell, od kterých jsou potom i odvozeny jejich
vylepšené verze, které umožňujı́ napřı́klad snadný návrat k historii
přı́kazů a editaci přı́kazové řádky:
sh
ksh
bash
Bourne shell
Korn shell
Bourne again shell
csh
tcsh
C-shell
T-C-shell
U různých typů shellů se může trochu lišit syntaxe při zadávánı́
přı́kazů – to se hlavně týká přesměrovánı́ vstupů a výstupů a při
práci s tzv. environment proměnnými.
ZÁKLADNÍ SCHÉMA ZADÁVÁNÍ PŘÍKAZŮ
Na přı́kazové řádce lze nejčastěji rozlišit tři části
4.4. BSD
OSF/1
System V.4
1993
1992
1988
<command>
command
options
params
IRIX
[options]
[params]
jméno přı́kazu nebo programu
volby daného přı́kazu, které ovlivňujı́ činnost
programu (např. tvar výpisu)
parametry (např. vstupnı́ soubory dat)
Volby přı́kazu jsou nejčastěji jednopı́smenné a jsou uvozeny pomlčkou (-). Vı́ce voleb (např. -l -a) lze spojovat dohromady (-la).
Vı́ce přı́kazů na jednom řádku lze oddělit střednı́kem (;).
Linux
Solaris
Karel Petera a Martin Dostál
Ústav procesnı́ a zpracovatelské techniky
Fakulta strojnı́ ČVUT v Praze
ls -l /etc
ls /etc; date
ls -l -a /etc
ls -la /etc
man ls
man -k zip
SOUBORY A ADRESÁŘE
V UNIXu neexistuje obdoba označenı́ disků A:, C: jako v systému
M$ DOS (Windows). Stromová struktura adresářů vycházı́ z kořene (/) a větvı́ se dále. Pro oddělovánı́ adresářů v názvu cesty k
nějakému souboru je na rozdı́l od DOSu použı́ván znak normálnı́ho
lomı́tka /, nikoliv zpětného \. Znak tečky . odkazuje na aktuálnı́
adresář, dvě tečky .. na nadřazený adresář. Vlnovka ˜ odkazuje
na domovský adresář přı́slušného uživatele.
/tmp/html.zip
./index.htm
../Dummy.htm
˜/UNIX.JPG
V názvech souborů a adresářů se rozlišujı́ malá a velká pı́smena!
Lze použı́vat názvy delšı́ než je 8 znaků (M$ DOS) a znak tečky
uvnitř názvu je jeho součástı́ – nemá speciálnı́ význam pro oddělenı́
přı́pony.
/usr/tmp/soubor.se.tremi.teckami_v_nazvu
Regulárnı́ výrazy (hvězdičková notace)
Při odkazu na vı́ce souborů lze využı́t speciálnı́ch znaků, které v
názvu zastupujı́ výskyt nějakých znaků:
nula nebo vı́ce libovolných znaků
jeden libovolný znak
výčet znaků
*
?
[abc]
Přı́klady:
file*
file.*
file.[el]*
file*[0-9]
--> file.err
file1
--> file.err
--> file.err
--> file1
file.log
file2
file.log
file.log
file2
Přı́kazy pro práci se soubory a adresáři
pwd
cd
ls
mkdir
výpis aktuálnı́ho adresáře
změna aktuálnı́ho adresáře
výpis obsahu adresáře
-l podrobnějšı́, dlouhý (long) výpis
-a vypisuje skryté soubory
vytvořenı́ adresáře
file.out
file.out
rmdir
cp
rm
mv
file
cat
more
smazánı́ adresáře (nesmı́ obsahovat žádné soubory)
kopı́rovánı́ souborů
mazánı́ souborů
-r včetně adresářů a souborů
přejmenovánı́, přesunutı́ souborů
určenı́ typu souboru
výpis souboru (obecně kopı́ruje std. vstup na std. výstup)
výpis obsahu souboru po stránkách
PŘESMĚROVÁNÍ VSTUPŮ A VÝSTUPŮ
PROCESY
Standardnı´ vstup nebo výstup spolu se standardnı́m chybovým výstupem je většinou spojen s klávesnicı́ a monitorem (obrazovkou)
počı́tače. V UNIXu exituje mechanismus, který umožňuje přeměrovat obsah souboru na vstup nějakého programu a nahradit tak
vstup z klávesnice. Dále je možné přesměrovat standardnı́ výstup
do souboru, aby nebyl vypisován na obrazovku.
Spušteˇný a běžı́cı́ program se v UNIXu většinou označuje jako proces. Operačnı́ systém každému procesu přiřazuje jedinečné identifikačnı́ čı́slo (PID).
PŘÍSTUPOVÁ PRÁVA
Přesměrovánı́ standardnı́ho výstupu a vstupu
V UNIXu se jsou definovány tři základnı́ kategorie pro přı́stup k souborům a procesům. Pro každou kategorii lze definovat tři základnı́
druhy přı́stupových práv k souborům.
Znakem > lze přesměrovat standardnı́ výstup do souboru, uvedeného za tı́mto znakem. Dvojice znaků >> přı́pojı́ výstup na konec
již existujı́cı́ho souboru.
Kategorie
vlastnı́k (owner, user)
skupina uživatelů (user group)
ostatnı́ (others)
Přı́stupová práva
čtenı́ (read)
zápis (write)
spustitelnost (executable)
Ve výpisu přı́kazu ls s volbou -l lze odhalit, komu patřı́ přı́slušný soubor (adresář), jaké skupině uživatelů je přiřazen a jaká
má nastavena přı́stupová práva pro jednotlivé kategorie uživatelů.
Z následujı́cı́ho přı́kladu lze odhalit, že uvedené soubory patřı́ uživateli novak a skupině user.
-rw-r--r-drwxr-xr-x
1 novak
2 novak
user
user
...
...
file.out
zkouska
V prvnı́m sloupci je dále 10 znaků, z nichž prvnı́ určuje typ souboru (- je normálnı́ soubor, d představuje adresář) a dalšı́ch devět
znaků představuje tři trojice přı́stupových práv pro výše zmı́něné
tři kategorie uživatelů.
Změna přı́stupových práv
chmod umožnı́ změnit přı́stupová práva pro vybranou kategorii
uživatelů. Práva lze specifikovat v symbolické nebo čı́selné formě.
chmod
[kategorie][akce][práva] soubor(y)
u User
+
r Read
g Group
w Write
o Other
=
x eXecute
Znaménko + nebo - vyjadřuje přidávánı́ nebo ubı́ránı́ přı́slušných
práv, znaménko = vyjadřuje explicitnı́ nastavenı́. Vedle kategoriı́ u,
g, o je také definována kategorie a (all, všichni). Přı́klady:
chmod +x file.exe
chmod go-r file1
chmod a-wx file.txt
chmod u=rwx file2
Vedle symbolické formy lze pro změnu práv použı́t i trojic čı́sel.
Každé čı́slo se vztahuje k přı́slušné kategorii uživatelů a dá se
zjednodušeně zı́skat jako součet třı́ hodnot, vyjadřujı́cı́ch přı́slušná
práva: 4 – čtenı́ (r), 2 – zápis (w), 1 – spustitelnost (x). Přı́kaz
chmod 752 file1 potom nastavı́ přı́stupová práva v symbolickém vyjádřenı́ rwxr-x-r--.
program > vystup.txt
program >> vystup.txt
program < vstup.txt
Kombinacı́ obou přı́stupů lze přesměrovat zároveň vstup i výstup.
program < vstup.txt > vystup.txt
Chybový výstup
Pokud nastane nějaká chyba, může o tom konkrétnı́ program vypsat
zprávu na standardnı́ chybový výstup. Ten je většinou směrován na
obrazovku, ale lze jej také přesměrovat do souboru. Syntaxe se
však lišı́ podle typu shellu. Následujı́ dva přı́klady, z nichž prvnı́
uložı́ chybový výstup do stejného souboru, jako standardnı́ výstup.
Druhý přı́klad jej ukládá do samostaného souboru.
Bourne shell
prog > vys 2>&1
prog > vys 2> vys.e
S výše uvedeným přesměrovánı́m standardnı́ho výstupu a chybového výstupu lze použı́t i přesměrovánı́ vstupu, např. pro C-shell:
prog < vstup >& vystup
(prog < vstup > vystup) >& vystup.err
Kolony a filtry
Programy, které čtou něco ze standardnı́ho vstupu a po zpracovánı́ zase zapisujı́ na standardnı́ výstup, se někdy označujı́ jako tzv.
filtry (např. cat, more, grep, nl). Tyto programy lze pomocı́
mechanismu roury (pipe) spojovat do tzv. kolon (pipelines), ve kterých je výstup z jednoho programu přesměrován na vstup druhého
programu.
cat soubor1 | nl
cat soubor2 | more
cat soubor3 | nl | more
Výpis seznamu procesů
Přı́kaz ps sloužı́ k výpisu seznamu běžı́cı́ch procesů. Jeho volby se
lišı́ podle typu UNIXu. Pro výpis procesů uživatele novak můžou
potom sloužit následujı́cı́ přı́kazy:
LINUX (BSD UNIX)
ps -u
ps -aux | grep novak
IRIX (UNIX System V)
ps -fu novak
Ukončenı́ procesu
Znakem < lze zajistit přesměrovánı́ obsahu souboru na vstup nějakého programu a nahradit tak vstup z klávesnice.
C-shell
prog >& vys
(prog > vys) >& vys.e
K ukončenı́ programů, které se vymknou kontrole a nelze je ukončit standardnı́m způsobem, lze použı́t přı́kaz kill. Jako parametr
mu zadáme identifikačnı́ čı́slo procesu (PID), které zjistı́me z výpisu přı́kazu ps. Můžeme navı́c ještě zadat typ signálu, který bude
přı́slušnému procesu poslán. Standardně je zaslán signál TERM (terminate), ale pokud nepomůže, lze použı́t signál KILL, který zajistı́
bezpodmı́nečné ukončenı́ neposlušného procesu.
Zaslánı́ signálu TERM (terminate)
kill 223
kill -15 223
kill -TERM 223
Zaslánı́ signálu KILL
kill -9 223
kill -KILL 223
Spuštěnı́ programu na pozadı́
Odsunutı́ programu na pozadı́ lze zajistit znakem & úplně na konci
přı́kazové řádky. To zajistı́, že přı́kazová řádka zůstane volná pro
zadávánı́ dalšı́ch přı́kazů a umožnı́ to i odhlášenı́ ze systému. Pokud
program potřebuje vstup dat z klávesnice a zároveň vypisuje něco
na obrazovku, je žádoucı́ zajistit přesměrovánı́ vstupů a výstupů.
netscape &
program < vstup >& vystup &
NĚKTERÉ DALŠÍ PROGRAMY
passwd
telnet
ftp
nedit
joe
mc
xv
ghostview, gv
xfig
xpaint, gimp
mail, Mail, xfmail
změna hesla
připojenı́ na vzdálený počı́tač
přenos souborů mezi počı́tači
grafický ASCII editor
textový ASCII editor
Midnight Commander
prohlı́žeč bitmapových obrázků
prohlı́žeč postsriptových souborů
grafický vektorový editor
grafické bitmapové editory
programy pro čtenı́ pošty

Podobné dokumenty

Prítomný prostý - Prehled funkcí

Prítomný prostý - Prehled funkcí Tyto aktivity (nebo stavy) trvajı́ stále. Často nás doprovázejı́ po dlouhou dobu, někdy i po celý život. Většinou neuvažujeme nad tı́m, kdy nebo jestli skončı́. Jsou to prostě věci, kt...

Více

Linux - Martin Vancl

Linux - Martin Vancl Důležité pojmy

Více

Uvod do poc´ıtacové typografie - Gröger

Uvod do poc´ıtacové typografie - Gröger file = {:A/Abers_PhysRep9_1973.djvu:Djvu}

Více

Vijeo Designer – intuitivní HMI nástroj s

Vijeo Designer – intuitivní HMI nástroj s navigátor se stromovou strukturou. V něm pak zpravidla začíná návrh projektu výběrem konkrétního panelu a jeho vlastností. Při označení daného objektu uživatel nastavuje vlastnosti v samostatném ok...

Více

Praktikum z operacˇnıch syste´mu

Praktikum z operacˇnıch syste´mu 5.1.1 Kdy, kde a jak použı́vat textový shell . 5.1.2 Struktura přı́kazů . . . . . . . . . . . . . 5.2 Zástupné znaky . . . . . . . . . . . . . . . . . . 5.3 Nápověda . . . . . . . . . . . ....

Více

Zpravodajpro kybernetiku a informatiku ˇCSKIˇCesk´a spoleˇcnost

Zpravodajpro kybernetiku a informatiku ˇCSKIˇCesk´a spoleˇcnost Přednáška se koná 16. června 2009 v 14 hod., mı́stnost č. 474. Souhrn. Cı́lem přednášky je představit některá témata a odpovı́dajı́cı́ matematické modely, kterými se teoretičtı́ eko...

Více