3. gyakorlat (2008. szeptember 15.)

Multitask

$ ps (vagy $jobs)

Kilistázza az aktuális processzek listáját (az adott terminálon)

-e az összes futó processzt megnézhetjük (Mind a terminálokhoz rendelhető ill. nem rendelhető processzeket.)

-f részletes lista (UID - felhasználó azonosítója, PID - a futó processz process-ID-je, PPID - a processz szülőjének PID-je , C - Scheduling paraméter, STIME - indítás időpontja, TTY - A processz indító - vezérlő - terminálja, ha ? van a helyén az azt jelenti, hogy a processz nem köthető terminálhoz, TIME - a processz által használt rendszeridő kerekítve, CMD - a parancs neve, amely a processzt indította)

-u a processz tulajdonosának nevét, CPU használatot %-ban és az indítási időt adja meg

^Z leállít, felfüggeszt (stop)

^C megszakít (kill)

Ha n egy leállított (stopped) job száma (^Z)

$fg %n

az előtérben folytatja a job-ot (default: utolsó elindított job)

$bg %n

a háttérben folytatja a job-ot

Ha n egy futó vagy leállított job száma (^Z)

$kill %n (=^C) vagy $kill PID

megszakítja a job-ot, egyes parancsok ezeket figyelmen kívül hagyják ->

$kill -9 PID

Nem létezik olyan felhasználóhoz tartozó parancs, amely a 9 signal-t figyelmen kívül hagyhatná.

$kill ?s STOP %n

leállítja a job-ot (=^Z)

& alkalmazás indítása úgy, hogy aktív maradjon a konzol

Felhasználók

$finger felhasználónév

a rendszer felhasználóiról mutat információkat

$who

megmutatja, ki van bejelentkezve

$w

megmutatja, hogy ki van belépve és mit csinál

$last

legutóbbi belépések listázása terminál vagy felhasználó alapján

Bash

/dev/null

minden beleírt adatot elnyel, és olvasáskor mindig filevége-jelet ad. Akkor hasznos, ha egy parancs kimenetét el akarjuk nyomni (például, ha nem akarjuk a hibaüzeneteket látni)

Több programot sorban egymás után szeretnénk végrehajtatni:

; egymás eredményeitől függetlenül

&& a másodikat csak akkor, ha az első sikerült (és)

|| a másodikat csak akkor, ha az első nem sikerült (vagy)

Csövek (Pipe)

> a program kimenetét fájlba irányíthatjuk

>> a fájl eddigi tartalma mögé fűzi

< a program bemenetét a fájlra irányíthatjuk

| egy program kimenetét egy másik program bemenetére irányítja

Mintaillesztés

? egy tetszőleges karaktert helyettesít

* akárhány tetszőleges karaktert helyettesít

[?] a [ és ] jelek között felsorolt karaktereket helyettesítheti

\c a c speciális karaktert jelenti, ahol c lehet:\, szóköz, ?, *, [, ], `

'...' hosszabb sztringet a shell behelyettesítéstől lehet megvédeni (pl. szóközök,*,?,stb.)

"..." sztringben a környezeti változó helyettesítések kivételével véd meg mindent

Környezeti változók

$PWD az aktuális könyvtár

$HOME a felhasználó saját könyvtára, használható a ~ is

$PATH Keresési útvonal, a shell az itt felsorolt könyvtárakban keresi a futtatandó programot

$PS1 A prompt kinézetét írja le

Hálózat

ssh -X user@host

a két gép között nem tudunk fájlokat mozgatni (-X :grafikus alkalmazásokat is használhatunk)

sftp user@host

tudunk a két gép között fájlokat másolni

{ls,lls,cd,lcd,pwd,lpwd,mkdir,lmkdir,put,get,exit}

exit

h......@linux.inf.u-szeged.hu (ssh)

h......@solaris.inf.u-szeged.hu

h......@ftp.inf.u-szeged.hu (sftp)

HÁZI FELADAT

/pub/progalap/Gyakorlat/gyak02

/pub/progalap/Gyakorlat/gyak03

VISSZA