Documente Academic
Documente Profesional
Documente Cultură
Maşina : sys.ase.ro
Port 22
User: soidstud, soidstud1… soidstud10
Passwd: identica cu numele de utilizator
Unele procese sunt neinteractive si au o durata mare de executie. Pentru astfel de procese,
sistemul Unix/Linux prevede un mod special de executie, in fundal (background). Pentru
lansarea executiei in fundal a unui proces, comanda trebuie terminata cu caracterul &. De ex.:
$ calcul &
Odata executia pornita, sistemul afiseaza identificatorul procesului lansat in fundal si apoi
prompter-ul, utilizatorul putand introduce alte comenzi. Acestea pot fi executate in prim plan
(foreground) sau in fundal (background), daca se specifica acest lucru.
Distrugerea proceselor ce ruleaza in fundal se realizeaza cu ajutorul comenzii kill,
avand ca parametru identificatorul procesului vizat, comunicat de sistem la lansarea procesului in
fundal. (nu se poate realiza cu CTRL+C deoarece procesele in fundal nu interactioneaza cu
utilizatorul prin terminal).
Uzual, se executa in fundal procese care au o durata mare si care iau datele de intrare din fisiere
deja pregatite, punand rezultatele in alte fisiere, pe care utilizatorul le poate inspecta si folosi
ulterior. La terminarea executiei unui astfel de proces, interpretorul de comenzi afiseaza un mesaj
informativ, de genul 'procesul cu identificatorul ... s-a terminat'.
Gruparea comenzilor
● Pot fi introduse mai multe comenzi pe aceeasi linie, separate prin ';'. De ex.:
$ pwd ; ls –l
va afisa mai intai numele directorului curent ( pwd) si apoi ii va afisa continutul ( ls);
procesele se executa secvential.
● De asemenea, se pot grupa comenzi in forma:
cmd1 | cmd2 | ... |cmdn
unde comenzile cmd1 , cmd2 ,..., cmdn sunt executate in paralel, iesirea standard a
fiecarei comenzi (cu exceptia ultimei) fiind legata printr-o conducta cu intrarea standard a
comenzii urmatoare.
Ex.: vrem sa determinam cate fisiere contine directorul /bin. Pentru aceasta vom folosi
comenzile ls - listare director si wc - numara linii:
$ ls -l /bin | wc -l
● Gruparea comenzilor sub forma:
(lista comenzi)
determina executia acestora ca un proces separat.
Ex.:
$ pwd ; (cd ../test ; pwd) ; pwd
/users/u1/demo
/users/u1/test
/users/u1/demo
Efectul comenzii cd din lista de comenzi inchisa intre paranteze este anulat la intalnirea
parantezei inchise, deoarece cd a schimbat catalogul curent numai pentru subprocesul
lansat pentru executarea acelei liste de comenzi.
● Gruparea comenzilor sub forma :
{lista comenzi ; }
executa lista de comenzi in cadrul procesului curent (atentie la punct si virgula inainte de
acolada de inchidere).
Ex.:
$ pwd ; {cd ../test ; pwd ; } ; pwd
/users/u1/demo
/users/u1/test
/users/u1/test
Efectul comenzii cd se pastreaza si dupa terminarea listei de comenzi din acolade.
Dupa initializarea sesiunii de lucru, se deschid 3 fisiere standard (0, 1 si 2) pentru intrare, iesire si
afisarea erorilor. Ele sunt atribuite terminalului de la care se lucreaza (tastatura si ecranul). În
momentul lansării în execuție a programului asociat unei comenzi, acesta moștenește (ca proces
"fiu") fișierele deschise, deci și pe cele standard:
● Intrare standard (standard input, stdin) care reprezintă locul de unde se citesc datele de
intrare de către program (de obicei tastatura)
● Ieșire standard (standard output, stdout) care reprezintă fișierul în care se scriu datele de
ieșire(de obicei este consola curentă)
● Ieșire de eroare standard (standard error, stderr) care reprezintă fișierul în care se scriu
mesajele de eroare de către program (de obicei tot în consola curentă)
Un descriptor de fișier reprezintă un indice asociat unui fișier deschis de o aplicație. Cele 3 fișiere
speciale de mai sus au următorii descriptori:
● Stdin are descriptorul cu indexul 0
Comanda date
● functia: afiseaza data si ora
● sintaxa: date
Comanda finger
● functia: afiseaza numele utilizatorilor conectati la sistem
● sintaxa: finger [(nume)]
● explicatii: Daca se specifica numele unui utilizator, se dau informatii despre acesta
Comanda passwd
● functia: schimba parola
● sintaxa: passwd
Comanda tty
● functia: afiseaza numele terminalului
● sintaxa: tty
Comanda write
● functia: trimite imediat un mesaj la un alt utilizator
● sintaxa: write (utilizator)
● explicatii: Dupa scrierea comenzii se scrie mesajul, incheiat cu CTRL+D
Comanda last afișează ultimele conexiuni realizate la sistem
● numele proprietarului;
● numele grupului;
● numele fisierului;
Exemplificare:
ls –a afiseaza si fisierele ascunse ex: .profile
ls – l afiseaza informatii suplimentare legate de fisiere
ls –al combina situatiile de mai sus
ls –alR afiseaza informatii suplimentare despre fisiere si inclusiv subdirectoare
ls –d afiseaza informatii despre director si nu despre continutul lui
ls –F afiseaza informatii in legatura cu tipul fisierului astfel:
● * fisier executabil
● @ legatura simbolica
Comanda rmdir
● functia: sterge un director
● sintaxa: rmdir (director)
● explicatii: Directorul specificat este sters doar daca este gol de conținut; daca directorul
nu este vid, este necesara stergerea prealabila a fisierelor continute folosind comanda
rm.
Comanda rm
● functia:sterge fisiere
● sintaxa:rm [optiuni] (fisier)...
● explicatii: Sterge fisierele indicate din directorul curent.
Principalele optiuni permise sunt:
1. -i -intreaba utilizatorul inainte de stergerea fiecarui fisier;
2. -r -cere confirmarea de stergere inainte de stergerea fiecarui
subdirector;
3. -f -sterge fisierul fara a analiza daca exista dreptul de scriere in
fisier;
Exemple:
rm -i * , sterge toate fisierele din directorul curent, cu confirmare
rm -r director, sterge tot subarborele ce are radacina in (director)