Sunteți pe pagina 1din 9

Comenzi UNIX

UNIX reprezinta un foarte puternic sistem de operare, multitasking si


multiutilizator, cu implementari diverse pe toata gama de platforme, precum mainframeuri, minicalculatoare si microcalculatoare.
Sistemul de fisiere
O functie extem de importanta a unui sistem de operare este gestionarea fisierelor
proprii si ale utilizatorului. In vederea folosirii lor, fisierele trebuie pe de o parte sa fie
usor de memorat si usor de gestionat, iar pe de alta parte trebuie sa incapa convenabil pe
un mediu fizic accesibil. Aceste cerinte impun ca sistemul de fisiere sa aiba o structura
logica eficienta si o structura fizica poterivita pentru dispozitivele utilizate in memorarea
fisierelor. Sistemul de fisiere UNIX contine un numar de directoare cu semnificatii
speciale. In continuare este perezentata o astfel de structura tipica:

ROOT___DEV (fisiere speciale pentru dispozitive periferice: consola sistem, terminale,


discuri, imprimanta)
___BIN (programe utilitare in format executabul: compilatoare, asambloare,
instrumente pentru dezvoltarea de programe)
___LIB (biblioteci de limbaje si utilitare : Fortrand, C, rutine de I/E, apeluri
sistem, biblioteci matematice)
___ETC (date de sistem cu acces limitat si controlat, utilitare de sistem destinate
in special superuser-ului - administratorului - , fisiere cu parole, fisiere cu comenzi
SHELL de initializare)
___TMP (fisiere temporare utilizate de utilitare: editor, compilatoare, asamblor)
___USR___BIN (programe utilitare mai putin folosite)
___TMP (fisiere temporare mai putin folosite)
___DICT (liste de cuvinte, verificarea impartirii in silabe-SPELL
CHECKER)
___LIB (fisiere de biblioteci mai putin utilizate)
___MAN (directoare cu fisier text continind in intregime Manualul
Programatorului UNIX)
___SPOOL_____AT (procese temporizate)
_____LPD (director imprimanta)
____USERS_____USER1 (structura de director a utilizatorului 1)
_____USER n (structura de director a utilizatorului n)

Combinatii de taste si comenzi UNIX


Exista o serie de combinatii de taste care asigura functii utile pentru utilizatorul
acestui sistem de operare.
<CTRL - C> - dtermina oprirea unui proces in executie, astfel incit, daca ne gasim in
momentul in care o comanda este in curs de executie si care nu se doreste sa mai fie
terminata, se va apasa combinatia de taste de mai sus si procesul se va termina imediat.
<CTRL - D> - reprezinta un termintor al intrarii prin care se indica terminarea
procesului de intrare date sau iesirea din sistemul UNIX. In unele circumstante aceasta
combinatie de taste actioneaza precum <CTRL - C>, alteori insa nu va putea opri
derularea unui proces cum reuseste combinatia de mai sus.
<CTRL - Z> - de obicei, indica dorinta de suspendare a executiei unui proces,
obtinindu-se un mesaj de forma "Suspend" si programul pe timpul rularii caruia a fost
introdusa combinatia de taste de mai sus se va opri. Se poate relansa executia
programului suspendat, toate job-urile suspendate putind fi listate cu comanda "jobs".

Citeva comenzi UNIX


Comanda PASSWD, stabilirea unei parole
Pentru a stabili o parola se introduce comanda "passwd"
$passwd
Changing passwd for username
Old passwd:
New passwd:
Re-enter new passwd:
Este recomandabil ca parola S seschimbe periodic. UNIX solicita parole de cel
putin cinci caractere, dar acest numar poate, in principiu, sa varieze in functie de
versiune sau de implementare.
Comanda DATE (data si timpul)
Sistemul afiseaza data si ora curenta.
$date
Fri Jan 29 13:30 EST 2010
Pentru a executa comanda tastata de utilizator, Shell-ul va cauta in directorul
curent comanda, iar daca nu este gasita aici, va cauta in directoarele "/bin" si, daca este
necesar, si in "/usr/bin". Toate aceste directoare "/bin", "/usr/bin" sau directorul curent
sint colectii de fisiere esentiale. Shell-ul., dupa ce a gasit programul DATE, il incarca in
memorie si il execut.
Aplicaie
1. S se afieze data.

Comanda W
$w
Afiseaza identificatorii de utilizatori curenti (user ID). Se dau informatii despre ce face
fiecare utilizator (cine este conectat la sistem, numele terminalelor filosite de utilizatorii
din sistem, data si timpul ce indica) momentul n care fiecare utilizator a deschis o
sesiune de lucru). Pentru a afla numele utilizatorului de la terminalul curent se tasteaza:
$who am I
Aplicaie
1. S se afiseze utilizatorii cureni
2. S se afieze numele utilizatorului de la terminalul curent.

Comanda WHEREIS
Permite gasirea unui fisier. Se afiseaza calea catre fisierul indicat in clar, fiind
mentionate si celelalte aparitii ale acelui nume de fisier in alte directoare.
$whereis nume_fisier
Aplicaie
1. S se gaseasca calea fisierului cu numele de bash
2. S se gaseasca calea fisierului cu numele de boot
Comanda PS
Fiecare program care ruleaza se numeste proces sau task. Comanda "ps" verifica
ce procese sunt curent rulate, active n sistem.
$ps -a
(afiseaza toate procesele)
De exemplu, se va afisa:
PID
1338
2042
2059
2060
2062

TTY
5
6
1
1
1

TIME CMD
0:55 -x
0:04 vi test.c
0:00 sh -c sh
0:00 sh
0:09 ps -a

unde:
PID este identificatorul de proces. Fiecarui proces UNIX ii este asignat un PID in
momentul crearii sale. Prin PID se va referi procesul.
TTY este numarul teminalului de la care este lansat procesul
TIME este timpul alocat pentru proces. UNIX asigura fiecarui proces o cuanta de timp si
apoi acorda cite o cuanta de timp si urmatoarelor procese.

CMD este numele comenzii care a lansat procesul


$ps
$ps -l
$ps -f

(afiseaza procesele de la terminalul utilizatorului curent)


(genereaza un listing lung)
(genereaza un listing complet)

Aplicaie
1. S se afieze procesele care ruleaz n sistem.
Comanda PWD (calea de la radacina pina la directorul curent)
Afiseaza numele complet al directorului curent. Imediat dupa procedura de login
UNIX, directorul curent de lucru este "home directory".
$pwd
/home/stud/numeutilizator
Aplicaie
1. S se afieze calea directorului current.
Comanda CD (schimba directorul curent)
Permite trecerea la un alt director, de pe nivel superior sau inferior. Transforma
directorul introdus explicit dupa comanda in director curent.
$cd /usr/dan/programe
$
$pwd
/usr/dan/programe
Aplicaie
1. Sa se creeze directorul Studenti. In directorul Studenti se vor creea directoarele
Grupa711, Grupa721 si Grupa731.
2. S se schimbe directorul current n Studenti
3. S se schimbe directorul current n Grupa711
4. S se schimbe directorul current n Grupa721

Comanda LS (listeaza fiiere i coninutul directoarelor)


$ls
(afiseaza numele fisierelor si subdirectoarelor din directorul curent)
$ls -a
(afiseaza si fisierele invizibile sau speciale)
$ls -al
(afiseaza si informatii suplimentare)
Este similara comenzii DIR din DOS.
Optiuni:

-l afiseaza in format lung indicind drepturile de acces, numarul de legaturi, dimensiunea


fisierului, data ultimei actualizari
-s afiseaza in plus numarul de blocuri pentru fiecare fisier
-t lista tuturor fisierelor nu este in ordine alfabetica, ci sortata dupa data ultimei
actualizari
-I afiseaza numarul inodului fiecarui fisier
-a afiseaza in plus si fisierele directoare specificate si parintele lor
-u la afisare se ia data ultimului acces la fisier, in loc de data ultimei actualizari pentru
optiunile -t sau -l
-c la fisiere se ia in considerare data crearii fisierelor pentru optiunile -t sau -l
-r afiseaza lista in ordine invers alfabetica sau invers criteriului de sortare la optiunea -t
$ls -lsi /usr
Aplicaie
1. In directorul Studenti, se vor creia trei fisiere text (Listastudenti1.txt,
Listastudenti2.txt, Listastudenti3.txt)
2. S se afieze continutul directorului Studenti
3. S se afieze continutul directorului Grupa721 cu afiarea informaiilor
suplimentare.
Comanda CAT
Afieaza coninutul fiierelor text (similara comenzii TYPE din DOS). Comanda
"cat" poate sa apara si fara nici un argument. In acest caz comanda citeste caracterele
tastate la terminal, pina la maximum de 512 caractere, sau pina cind utilizatorul tasteaza
<CTRL - D>.
$ cat nume_fisier
Optiuni:
-w operatiile de iesire se fac fara tampon
-s anuleaza mesajele despre inexistenta fisierelor
-v tiparirea caracterelor de control (sub forma ^caracter) a carcterului DEL (sub forma
^?) a caracterelor nonASCII (pe 8 biti), sub forma M-x (unde x este caracterul
reprezentat pe ultimii 7 biti)
-t tiparirea caracterului TAB (sub forma SI), cu conditia utilizarii optiunii -v
-e tiparirea caracterului $ la sfirsitul fiecarei linii precedate de caracterul newlinw
(efectiv numai daca se utilizeaza optiunea -v)
Aplicaie
1. S se afiseze continutul fiierului Listastudenti3.txt
2. S se afiseze continutul fiierului Listastudenti1.txt
Comanda CP (copiaza un fisier sau un director)
$cp fisier1 fisier2 (copiaza continutul lui fisier1 in fisier2 suprascriindu-l pe fisier2
daca exista
deja)
$cp poem poem.bak
(se efectueaza o copie a fisierului poem in poem.bak)

$cp carte1 diverse/carte1 (se copie fisierul carte1 in directorul diverse)


Aplicaie
1. S se copieze fisierul Listastudenti2.txt in directorul Grupa721
2. S se copieze fisierul Listastudenti1.txt in directorul Grupa711
Comanda RM (inlatura -sterge- un fisier)
$rm -r lista_fisiere
Sterge fisierele din lista, optiunea -r fiind utilizata pentru directoare, ea stergind toate
fisierele indicate in directorul specificat si intrarea sa in directorul curent.
Comanda de stergere este filtrata de atributele de securitate ale fisierului, din punctul de
vedere al utilizatorului care foloseste comanda.
$rm -f c.
$rm -f carte1
(optiunea -f permite fortarea stergerii unui fisier protejat la scriere
fara a cere
confirmarea actiunii)
Cea mai utila optiune a comenzii "rm" este "-i" care permite operarea comenzii in mod
interactiv:
$rm -i carte1 cap2
carte1:n
cap2:y
$ls
carte1
Optiuni:
-i cere permisiunea de a sterge fisierul inainte de a efectua comanda
-f forteaza stergerea, neraportind eventualele erori
-r sterge toate fisierele din directorul "dir" de exemplu si apoi sterge directorul insusi
$rm a.out *.o
$rm -r john
Aplicaie
1. S se stearg fiierul Listastudenti2.txt
2. S se stearg fiierul Listastudenti1.txt
Crearea unui fisier comanda TOUCH
$touch nume-director
Aplicaie
1. S se creeze fiierul Studenti556.txt in directorul Grupa721
2. S se creeze fiierul Studenti334.txt in directorul Grupa711

Creare/Stergere directoare, comanda MKDIR si RMDIR


Directoarele sint manipulate de comenzile RMDIR si MKDIR.
$rmdir nume-director
(are ca efect stergerea directorului, daca utilizatorul are
suficiente drepturi)
$mkdir nume-director (are ca efect generarea unui nou director cu numele specificat)
Optiuni la MKDIR:
-m specifica drepturile de acces la noul director
-p creeaza toate directoarele neexistente din numele de cale
Exemplu:
$mkdir john, jock (creeaza directoarele john si jock in directorul curent)
$mkdir -p alpha/beta/gamma (creeaza sbdirectoarele structurii indicate)
Aplicaie
1. n directorul Grupa711 si Grupa721 s se creeze urmtoarea structur de
directoare:

2. S se stearg directorul LENESI


3. S se stearg directorul RAI
Comanda MV (redenumire fisiere, mutare fisiere)
$mv fisier1 fisier2.... destinatie
$mv cap3 intro
(are ca efect schimbarea numelui fisierului "cap3" in "intro")
Daca "intro este nume de director, atunci fisierul "cap3" este mutat in acest director.
Aplicaie
1. S se creeze fiierul cu numele Studenti4.txt in directorul Grupa731 apoi s se
redenumeasc fiierul cu numele Listastudenti2.txt n Listastudenti1.txt.
2. S se creeze fiierul cu numele Studenti2.txt in directorul Grupa731 apoi s se
redenumeasc fiierul cu numele Studenti4.txt n Listastudenti2.txt

Comanda WC
Contorizeaza numarul de linii, numarul de cuvinte, numarul de caractere dintr-un fisier
$wc rima
4 18 91 rima
Aplicaie
1. S se afle numarul de linii, numarul de cuvinte, numarul de caractere din fiierul
Listastudenti2.txt.
2. S se afle numarul de linii, numarul de cuvinte, numarul de caractere din fiierul
Listastudenti1.txt.
Comanda CMP
Compara doua fisiere
$cmp [-l] [-s] f1 f2
Optiuni:
-l imprima numarul (in zecimal) si valoarea (in octal) pentru fiecare diferenta intilnita
-s rezultatul compararii este furnizat printr-un cod (0=fisiere identice, 1=fisiere sint
diferite, 2=eroare)
$cmp -l fisier1 fisier2
Aplicaie
1. S compare fiierele din directorul Grupa731.
Comanda FILE
Determin tipul fisierelor. Daca fisierul este in ASCII, incearca sa determina limbajul
(raspunsul poate fi incorect). Daca fisierul este un fisier executabil se indica versiunea.
$file f
Aplicaie
1. S se determine tipul fisierului Studeni333.txt
2. S se determine tipul fisierului Studeni232.txt
Comanda PR
Afiseaza continutul unui fisier cu punere in pagina
$pr [optiuni] f1 f2 ...
Optiuni:
-n afisarea se realizeaza pe n coloane
+n afisarea se realizeaza incepind cu pagina n
-h string - antetul paginii va fi "string"
-ln numarul de rinduri pe pagina (implicit 66)
-wn latimea paginii in caractere (implicit 72)
-t suprima antetul pe pagina
-d spatiere dubla la iesire intre linii

-p oprirea afisarii inainte de fiecare pagina la terminal (continuarea se face cu <Enter>)


$pr -3dh "Sistemul Unix" f1 f2 | lpr
Aplicaie
S se afieze coninutul fiierului Listastudenti2.txt