Kihagyás

5. gyakorlat

tr - continuation

Szóközök törlése a parancs kimenetéből:

who | tr -d ' '

Szóközök és pontok törlése a parancs kimenetéből:

who | tr -d ' .'

Tömörítés (azonos egymást követő karakterek eltávoltítása):

who | tr -s ' '

cut

Oszlopok kivágása

Kivágja a megadott fájl vagy a standard bemenet soraiból az adott mezőt, karaktert.

Kapcsolók

  • -c karakterek kivágása
  • -f mező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

cut -c2

3.-tól 5.-ik karakterig kivágja a karaktereket

cut -c3-5

4. karaktertől minden kivágása

cut -c4-

Felsorolás

cut -c5,6,8

Csak a 4. oszlop mutatása, szóközzel elválasztott szövegben

cut -f 1 -d " "

Bejelentkezett felhasználók IP címének lekérése

last | tr -s ' ' | cut -f3 -d ' ' 

Összes felhasználó nevének és NEPTUN kódjának kiírása

getent passwd | cut -f1,5 -d ":" | sort

grep

grep [kapcsoldók] minta [fájl]

Megkeresi a mintának megfelelő sorokat a megadott fájl vagy a standard bemenet soraiban.

Kapcsolók

  • -s hibaüzenet mellőzése
  • -l csak a fájl neveket írja ki
  • -r rekurzív keresés
  • -w teljes szóra keresés
  • -i ne legyen kis- és nagybetű érzékeny

Reguláris kifejezések

3. előadás 20-27. dia

Részletes leírások RegEx-hez

Wikipé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

parancs &

Például:

$ sleep 5 &
[1] 25165
  • 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

  • -e Ilyen nincs is??? (ez mi volt?)

  • -l - a PID-eket is listázza

  • -n - a terminál parancsokat listázza
  • -s csak a nem futó folyamatokat listázza

fg és bg

  • fg [jobId] - Folyamat előtérbe küldése
  • bg [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és
  • u - szűrés felhasználóra
  • z - 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:

kill -l

Szignál küldése

kill [kapcsolók] %PID

vagy

kill [kapcsolók] %jobID

Összes sleep parancs SIGKILL-el való megszakítása:

killall -KILL sleep

Csapdák (eseménykezelés)

trap 'parancs' <szignál>

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 'echo control+c' 2

Trap eltávolítása.

trap 2

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