5. gyakorlat
tr - continuation
Szóközök törlése a parancs kimenetéből:
Szóközök és pontok törlése a parancs kimenetéből:
Tömörítés (azonos egymást követő karakterek eltávoltítása):
cut
Oszlopok kivágása
Kivágja a megadott fájl vagy a standard bemenet soraiból az adott mezőt, karaktert.
Kapcsolók
-ckarakterek kivágása-fmezők kivágása-d <elválasztó>mezőelválasztó megadása. (alapból tabulátor)
Példák
Minden sor második karakterének kivágása
3.-tól 5.-ik karakterig kivágja a karaktereket
4. karaktertől minden kivágása
Felsorolás
Csak a 4. oszlop mutatása, szóközzel elválasztott szövegben
Bejelentkezett felhasználók IP címének lekérése
Összes felhasználó nevének és NEPTUN kódjának kiírása
grep
grep [kapcsoldók] minta [fájl]
Megkeresi a mintának megfelelő sorokat a megadott fájl vagy a standard bemenet soraiban.
Kapcsolók
-shibaüzenet mellőzése-lcsak a fájl neveket írja ki-rrekurzív keresés-wteljes szóra keresés-ine legyen kis- és nagybetű érzékeny
Reguláris kifejezések
3. előadás 20-27. dia
Webes tesztelő környezet: RegEx101
Folyamatok
Unix (Linux):
- Többfeladatos (multitasking)
- Időosztásos (time sharing)
- PID (process identifier)
PID osztás szekvenciális. Ha eléri a maximum értéket, akkor a legkisebb szabad PID-et használjuk.
Párhuzamosan futó folyamatok kezelése
- Lekérdezés
- Szüneteltetés
- Leállítás
- Időzítés
- Priorizálás
- Előtérbe / Háttérbe küldés
Előtérben futtatás
parancs
Egyszerre csak egy folyamat érheti el a terminált -> előtérben van ("uralja a konzolt")
Ctrl+Z- szüneteltetés (Suspend)Ctrl+C- leállít (megszakít) (SIGINT - Keyboard Interrupt)
Parancs indítása a háttérben
Például:
25165- PID - operációs rendszeren egyedi azonosító[1]- JobID - parancs értelmezőn belül egyedi
ps
ps [kapcsolók]
Kilistázza a futó folyamatokat
Kapcsolók:
-e- környezet mutatása-f- fa szerkezetben mutatja-u- részletes kiiratás (pl. futtató felhasználó, indítás ideje)-a- a terminálon futó összes folyamat-x- a felhasználó összes folyamata-ax- a kiszolgálón futó összes folyamat-l- mutatja a prioritásokat is
Jobs
jobs [kapcsolók]
A háttérben futó folyamatok listázása
-
-eIlyen nincs is??? (ez mi volt?) -
-l- a PID-eket is listázza -n- a terminál parancsokat listázza-scsak a nem futó folyamatokat listázza
fg és bg
fg [jobId]- Folyamat előtérbe küldésebg [jobId]- Folyamat háttérbe küldése- szüneteltetjük a folyamatot, és csak utána tudjuk kiadni
nohup
nohup <parancs>
Folyamat kijelentkezéskori megszakadásának megakadályozása
STDOUT és STDERR a nohup.out fájlba kerül.
top
top (just use htop instead)
Futó folyamatok valós idejű figyelése
Billenytűparancsok:
q- kilépésu- szűrés felhasználóraz- színezés
Szignálok
A Unix rendszer a folyamatom vezérlését a folyamatoknak küldött szignálok (signals) segítségével végzi.
| Szignál | Szám | Jelentés |
|---|---|---|
| SIGTERM (default) | 15 | Normál leállás, a programnak nem kötelező leállnia |
| SIGKILL | 9 | Program "kilövése", lefagyott programok esetén hasznos |
| SIGINT | 2 | Interrupt, folyamat félbeszakítása |
| SIGSTOP | 19 | CTRL+Z, a program szüneteltetése |
További szignálok listája:
Szignál küldése
vagy
Összes sleep parancs SIGKILL-el való megszakítása:
Csapdák (eseménykezelés)
A megadott szignál érkezéskor az aposztrófok közé írt parancsot hajtsa végre.
Példa
Minden SIGINT esetén 'control+c' kiírása.
Trap eltávolítása.
Folyamatok erőforrásának kezelése
time <parancs>
Parancs futási idejének és processzor idejének figyelése
strace -pPID
Parancs rendszerhívásainak figyelése
Shell Scripting
Speciális karakterek
| Karakter | Funkció, jelentés |
|---|---|
\ |
Escape - Az ezt követő karakter elveszíti a módosító hatását |
$ |
Változó neve és értéke közötti megkülönböztetés |
'' |
Speciális karakterek vagy szavak speciális jellegét feloldja |
"" |
u.a., kivéve \ $ ` és ' |
`` |
végrehajtja az ide írt parancsot, a sorok végére szóköz kerül a sorvég helyett |