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