Shell vagy héjprogramozás

Szabó, László Zsolt

Sapientia Erdélyi Magyar Tudományegyetem, Műszaki és Humántudományok Kar, Marosvásárhely

Új Széchenyi Terv logó.

Lektorálta: Budai László, Informatikai tanácsadó, Acceleris Gmbh

A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046 számú Kelet-magyarországi Informatika Tananyag Tárház projekt keretében készült.

A tananyagfejlesztés az Európai Unió támogatásával és az Európai Szociális Alap társfinanszírozásával valósult meg.

A Kelet-magyarországi Informatika Tananyag Tárház logója.

Magyarország megújul logó.

Nemzeti Fejlesztési Ügynökség http://ujszechenyiterv.gov.hu/ 06 40 638-638

Az EU logója.

2011


Tartalom

1. Bevezető
1.1. A shell vagy héjprogramozás hátteréről
1.2. A héj változatai
1.3. A tananyag szerkezete
2. A UNIX terminál használata
2.1. Történelemi háttér
2.2. A terminállal való munkát segítő billentyűk
2.2.1. Mozgás a parancssorok listájában
2.3. A munkaszesszió
2.4. A parancsok formátuma
3. A fájlrendszer
3.1. Bevezető
3.2. A fájlnevek
3.3. A UNIX fájlrendszer felépítése, fontos könyvtárak
3.4. Közönséges fájlok
3.5. A hozzáférési jogok
3.6. Az írás, olvasás és végrehajtás jogok közönséges fájlokon
3.7. Az írás, olvasás és végrehajtás jogok könyvtárakon
3.8. Az umask és az implicit jogok
3.9. A fájlok időbélyegei
3.10. Fájl típusok, eszközök
3.11. Hivatkozások (linkek)
3.12. A fájl nevekben használható metakarakterek
3.13. A fejezetben használt parancsok
4. Alapfogalmak a héj (shell) használatához
4.1. Héjprogramok
4.2. A héj által végrehajtott parancsok
4.3. Alias-ok vagy helyettesítő nevek
4.4. A parancsvégrehajtás
4.5. Háttérben való végrehajtás
4.6. A környezeti változók
4.7. A héj indítása
4.8. Nyelvi karakterkészlet beállítása
4.9. A standard bemenet és kimenet
4.10. Átirányítások
4.10.1. A standard bemenet átirányítása ( < )
4.10.2. A standard kimenet fájlba irányítása ( > )
4.10.3. A kimenet hozzáfűzése egy fájlhoz ( >> )
4.11. Csővezetékek
4.12. Speciális eszközök
4.13. A standard kimenet és hibakimenet egyszerre történő átirányítása
4.14. Egyszerű szövegszűrés
4.15. A fejezetben használt parancsok
5. A héj változói
5.1. A héj változóinak típusa
5.2. Változók létrehozása
5.3. Az idézőjelek használata
5.3.1. A kettős idézőjel
5.3.2. Az aposztróf
5.4. A {} jelölés
5.5. Az echo parancs
5.6. A héj saját változói
5.7. Az környezeti változók és az export parancs
5.8. A héj speciális változói vagy paraméterei
5.9. A parancs helyettesítés
5.10. A parancssor átírása
5.11. A here document átirányítás ("itt dokumentum")
5.12. A . és a source parancs
5.13. Példaprogramok
6. Vezérlő szerkezetek
6.1. Vezérlő szerkezetek
6.2. Az igaz/hamis feltétel a héjprogramozásban
6.3. Az && , || és ! szerkezetek
6.4. A test parancs
6.5. Az expr parancs
6.6. Feltételes végrehajtás if szerkezettel
6.7. A for ciklusok
6.8. A while és until ciklusok
6.9. A break és continue használata
6.10. A shift parancs
6.11. Kilépés a héj programból: az exit
6.12. A case szerkezet
6.13. A select szerkezet
6.14. A read parancs
6.15. Példaprogramok
6.15.1. Fájl másolás
6.15.2. Könyvtár fájljainak követése
6.15.3. Szöveges fájl sorainak végigjárása
6.15.4. A programozási hibák felderítése
7. Reguláris vagy szabályos kifejezések alkalmazása
7.1. Bevezető
7.2. A bővített kifejezések (extended)
7.2.1. Egyedi karakterekre való illesztések
7.2.2. A . metakarakter
7.2.3. A karakter halmaz és a karakter osztály
7.2.4. Csoportosítás és alternálás: ( ) és |
7.2.5. Ismétlés, intervallum
7.2.6. Horgonyok
7.2.7. A visszautalás
7.2.8. További vissza-per szekvenciák
7.2.9. Összefoglaló tábázat
7.3. Alap szintű (basic) reguláris kifejezések
7.4. A grep és egrep használata
7.5. Példák reguláris kifejezések használatára az egrep-el
7.5.1. Keresések
7.5.2. Találat számlálás
7.5.3. Szövegek vágása
7.5.4. Sztringek tesztelése
8. Különböző héj szerkezetek
8.1. Bevezető
8.2. Függvények
8.3. Kód blokkok használata
8.4. Aritmetikai kiértékelés: számítások a (( )) szerkezettel
8.5. A C stílusú for ciklus
8.6. Műveletek karakterláncokkal
8.7. A [[ ]] szerkezet
9. A sed folyamszerkesztő
9.1. Bevezető
9.2. A sed parancssora
9.3. A sed működése
9.4. A sed parancsai
9.4.1. A címek megadása
9.4.2. Gyakran használt sed parancsok
9.4.3. A sed ritkábban használt parancsai
9.4.4. A hold pufferre vonatkozó parancsok
9.5. Példák a sed használatára héjprogramokban
10. Az awk
10.1. Bevezető
10.2. Az awk parancs használata
10.3. Működési elv
10.4. Az Awk programozási nyelv
10.5. Az Awk minta
10.6. Az utasítások
10.7. A változók
10.8. Belső változók
10.9. Konstansok
10.10. Operátorok
10.11. Vezérlő kifejezések
10.12. Az Awk függvények
10.12.1. A fontosabb numerikus függvények
10.12.2. Fontosabb sztring függvények
10.12.3. Saját függvények
10.13. Az awk használata héjprogramokban
11. Folyamatok kezelése
11.1. Folyamatok
11.2. A folyamatazonosító
11.3. A Unix feladat (job) fogalma
11.4. A wait parancs
11.5. Folyamatok követése a ps paranccsal
11.6. A top parancs
11.7. Jelzések
11.8. A kill parancs
11.9. A killall parancs
11.10. A pgrep és pkill parancsok
11.11. Jelzések kezelése shell alatt: a trap parancs
11.12. Speciális, programkövetésre használt jelzések (DEBUG, EXIT, ERR)
11.13. A nohup parancs
11.14. Alhéjak (subshell)
11.15. Példaprogramok
A. Hibakeresés héjprogramokban
A.1. Változók kiírása
A.2. A héj opcióinak használata és a set parancs
A.3. Jelzések használata programkövetésre
B. A getopts függvény
Bibliográfia
Tárgymutató

A táblázatok listája

2.1. A parancssor szerkesztési billentyűi
2.2. A Readline szerkesztési műveletei a parancssoron
2.3. Képernyőt kezelő parancsok
2.4. A parancssor ismétlésére használt billentyűkódok
3.1. A fájlrendszer fontosabb könyvtárai
3.2. A fájlnevekben használható metakarakterek
5.1. Változók kezdeti értékét kezelő operátorok
5.2. Sztring operátorok I.
6.1. Az exit kilépési értékei
7.1. A bővített reguláris kifejezések metakarakterei
7.2. A grep és egrep fontosabb opciói
8.1. Sztring operátorok II.
9.1. A sed opciói
10.1. Az Awk mintái
10.2. Az Awk belső változói
10.3. Az Awk sztring függvényei
11.1. A ps által megjelenített folyamat állapotok
11.2. A ps parancs kimenetének fontosabb oszlopai
11.3. A ps parancs néhány gyakran használt parancssori opciója
11.4. A top fontosabb interaktív parancsai
11.5. A fontosabb jelzések
A.1. A Bash hibakövetésnél használható opciói