Professional Documents
Culture Documents
1. előadás
Könyvészet
• http://www.cab.u-szeged.hu/local/linux/unix
• http://elmfiz.elte.hu/fizinf/OpRendszerek/index.html
• Wikipedia
Történet – UNIX
Végrehajtható
programok, szkriptek
Eszközmeghajtók
A kernel menedzseli a (driverek)
rendszer hardware
erőforrásait. Hardver
Alacsonyszintű működés
• Memóriakezelés: lapozás (paging); tárcsere (swapping)
• Lemez gyorsírótár (disk cache): a lemezre írás mindig egy
bufferen keresztül történik
• Többfeladatos (multitask) operációs rendszer:
– osztani kell a CPU időt a folyamatok között
– preemptív elosztás: 1/100 s az ütemezés alapegysége
• Többfelhasználós működés:
– minden felhasználó -> terminál (billentyűzet + megjelenítő egység)
> console terminál (tty)
> pszeudo terminál (pty)
• grafikus bejelentkezés
• jelszócsere: passwd
Parancsok futtatása
• futtatás a fájl nevével: végignézi a PATH –ben megadott
útvonalakat és ha talál ilyen nevű fájlt, végrehajtja
• változók:
méret (byte)
linkszámláló tulajdonos neve tulajdonos csoportja -h opció (human readable)
Parancsok
• fájlok létrehozása:
$ cat > gyakorlas <<ALLJ
> Proba sor ami csak betuket tartalmaz
> Ebben a sorban mar vannak szamok is, peldaul az 1 es a 42
> Ebben a sorban nehany furcsa karakter van \% @ !
> ALLJ
$
$ cd konyvtar
• belépés könyvtárba $
$
cd
cd
..
/home/student/konyvtar
$ cd ../Desktop
• állományok átnevezése/mozgatása
mv forrásállomány célállomány (felülírja a célállomány-t)
mv -i forrásállomány célállomány (rákérdez a felülírásra)
mv állomány1 állomány2 ... állományN könyvtár
(állományok átmozgatása egy másik könyvtárba)
mv forráskönyvtár célkönyvtár (könyvtár átnevezése)
Parancsok
• állományok törlése
• link létrehozása
• segítség
man parancs
info parancs
apropos valami
I/O átirányítások
• alapértelmezés
standard bemenet standard kimenet
parancs
(billentyűzet) (képernyő)
• kimenet megváltoztatása
parancs > fajlnev (létrehozza a fájlot)
parancs >> fajlnev (hozzáír a fájlhoz)
• bemenet megváltoztatása
parancs < bemenet
• példák
$ ls –l /etc > tempfile
$ more < tempfile
vagy
$ cat > proba
$ cat > proba << VEGE
Programok összekötése (PIPE)
• |
• a bal oldalon levő parancs (program) standard outputját
összeköti a jobb oldali program standard inputjával
• példa
$ ls –la /etc | more
Szűrők
• olvas a bemenetről, valamit csinál a bemenettel, az
eredményt a kimenetre írja
• cat: a bemenetet a kimenetre írja
• wc: a bemenet sorainak, szavainak és bájtjainak számát
írja a kimenetre
$ cat gyakorlas | wc
• nice prioritás
Érintkezés más felhasználókkal
• who – kik használják a rendszert
• w – bővebb info a rendszert hasznalókról
• last – bejelentkezések listája
• kommunikáció a többiekkel
– write usernev [tty]
– mesg n – üzeneteket letílt
– mesg y – üzeneteket engedélyez
– talk usernev [tty]
A vi szövegszerkesztő
• visual editor
• ex, ed (sorszerkesztők) utóda
• célja: minden terminálon fusson -> kompromisszum a kényelemmel
• vi -opciók állomány1 állomány2 ... állományN
• opciók
– -R csak olvashatóra nyitja meg az állományt (:w!-vel lehet csak
menteni)
– -r az előző szerkesztés véletlen megszakadása (rendszerhiba, kilőttük
a processzt, stb.) után visszanyeri a változtatásokat. Ha nem adunk
meg állománynevet, kilistázza a visszanyerhető állományok listáját.
– +n az n. sorra ugrik az állomány megnyitása után.
• három módja van:
– parancsmód
– szerkesztési mód
– utolsó sor mód (:, /, ?)
A vi szövegszerkesztő - parancsmód
• ESC-el kerülünk bele
• a parancsok jó részét megelőzheti egy szám (n), ilyenkor annyiszor
hajtja végre a parancsot
• kilépés, állományelérés
– ZZ mentéssel
– :x mentéssel
– :q mentés nélkül
– :q! mentés nélkül
– :wq mentéssel
– :w filenév A fájl filenév állományba menti
– :w! filenév Felülírja a filenév állományt
– :e! újraolvassa a lemezről az állományt (elvesznek az addig változtatások)
– :n kilép az aktuális állományból és beolvassa a következőt
– :n! akkor is a következő állományra ugrik, ha nincs elmentve az aktuális
állomány, így a változtatások elvesznek.
– :r filenév A filenév állományt beszúrja a kurzot alatti sortól.
A vi szövegszerkesztő - parancsmód
• mozgás:
– nh balra; nl jobbra
– nk fel; nj le
– sok terminálon működnek a nyilak
– n^F következő lap; n^B előző lap
– sok terminálon működik a PgDn, PgUp
– $ sor vége
– ^ első nem üres karakter
– 0 sor eleje
– $G utolsó sor
– 1G első sor
– nG n. sorra ugrás
– n| n. oszlopba ugrik
– nw (word) a következő szó elejére ugrik
– nb előző szó elejére ugrik
– ne aktuális szó végére ugrik
A vi szövegszerkesztő - parancsmód
• törlés
– nx kurzor alatti karakter törlése
– ndw kurzortól a szó végéig töröl
növendék (novice)
tudja, hogy az ls listázza ki a könyvtárat
használja a szövegszerkesztőt, de vájnak nevezi.
hallott már a C-ről, de még sohasem használta
már megvolt az első kellemetlen tapasztalata az rm paranccsal
azon töpreng, hogy miképpen lehetne levelet olvasni
nem érti, hogy a mellette ülő miért szereti annyira a Unix-ot
felhasználó (user)
használja a vi-t és az nroff-ot, de még tapasztalatlanul
már hallott a reguláris kifejezésekről, de még egyet sem látott
adott karakterláncokat keres az egrep-el
már rájött, hogy a '-' jel opciót szokott megelőzni
azon töpreng, hogy miként lehet átmozgatni egy könyvtárat
megpróbálkozott egy C programm megírásával, de úgy döntött, hogy marad a PASCALnál
azt gondolja, hogy az sdb egy sztereó felszerelés típusa
már tudja olvasni a leveleit, és rá szeretne jönni, hogyan olvassa az újságokat (news)
Ki a UNIX guru?
nagytudású felhasználó (knowledgeable user)
gond nélkül használja az nroff parancsot, és már tanulja a tbl és eqn parancsokat
azt hiszi, hogy az fgrep a fast grep-et jelenti
rájött, hogy a mv átmozgatja a könyvtárakat
megtanulta, hogy a learn nem segít
valaki megmutatta neki, hogy hogyan kell C programmot írni
egyszer már használta a sed parancsot szöveghelyettesítésre
már látta az sdb-t, de nem használja
azt gondolja, hogy a make parancs a gyáváknak lett kitalálva
szakértő (expert)
szükség esetén használja a sed-et
makrókat használ a vi-ban, szükség esetén az ex-et is kezeli
minden lehetséges alkalommal ír a news-ra
időnként ír egy csh szkriptet
C programmokat ír vi-al és cc-vel lefordítja őket
kitalálta, hogy mire valók && és || jelek
azt gondolja, hogy az emberiség történelme a !t paranccal kezdődött
Ki a UNIX guru?
hacker
gond nélkül használja a sed és awk parancsokat
a vi dokumentálatlan tulajdonságait használja
a cat > segítségével ír C kódot és !cc -vel fordítja azt le
az adb-t használja, mivel nem bízik a forrásszintű debuggolásban
meg tudja válaszolni a felhasználói környezettel kapcsolatos kérdéseket
saját 'nroff' makrókat ír a standard makrók kiegészítésére
Bourne shell-ben (/bin/sh) ír szkripteket
guru
gond nélkül használja az m4 és lex parancsokat
gépi kódú programot ír a cat > használatával
a futó kernelen használja az adb parancsot
átalakítja a parancsokat a forráskód megpatkolásával
reggelihez eszközkezelő forráskódot olvasgat
minden Unix kérdést meg tud válaszolni egy kis gondolkodás után
mindenhez, amihez kettő vagy annál több soros parancsra lenne szükség, a make-t használja
megtanulta, hogy törje fel a biztonsági rendszert, de már nem érdekli
varázsló (wizard)
eszközmeghajtókat ír cat > segítségével
a programhibákat a bináris kód megpatkolásával javítja
minden kérdést meg tud válaszolni annak elhangzása előtt
saját troff makrócsomagokat ír
tegező viszonyban van Dennis-szel, Bill-el és Ken-el