Sunteți pe pagina 1din 12

COMENZI UNIX UZUALE

B.1 GENERALIT|}I

Sistemul UNIX lucreaz\ `n mod linie de comand\.
Accesarea unui sistem UNIX se face pe baza numelui de utilizator [i a parolei:
login: nume_utilizator <Enter>
password:
Parola va avea minimum [ase caractere alfanumerice, cu minimum dou\ alfabetice [i
minimum unul nealfabetic `n primele [ase.
Dup\ introducerea corect\ a acestora [i validarea lor, apare prompterul de sistem:
$ pentru Bourne Shell [i Korn Shell
% pentru C Shell
# pentru contul administratorului de sistem.
Shell-ul emite prompterul [i interpreteaz\ comenzile.
Prima faz\ de interpretare a unei comenzi `n sistemul UNIX const\ `n recunoa[terea numelui
comenzii sau generarea unui mesaj de eroare referitor de sintax\ incorect\.
Shell-urile Bourne [i Korn admit introducerea comenzilor pe mai multe linii, caz `n care pe
urm\toarele linii apare prompterul: >.



Unele comenzi UNIX accept\ exprimarea unor op]iuni [i introducerea de argumente
(caractere, nume de fi[iere sau de directoare), respect=nd sintaxa:
$ comanda [ - optiuni ] [ argumente ] <Enter>
Separarea elementelor din linia de comand\ se face cu unul sau mai multe spa]ii libere [i/sau
tab-uri.
Op]iunile sunt precedate de o cratim\ (-).
Dac\ se exprim\ mai multe comenzi pe aceea[i linie, acestea se separ\ prin 'punct-[i-vigul\'
(;). Se pot introduce comenzi `n timpul execu]iei alteia, fiecare p\str`ndu-se `n memorie p=n\ ce se
termin\ executarea celei precedente.

Observa]ii
1. Combina]ia dintre o tast\ [i tasta CTRL se va nota cu simbolul ^ urmat de acel caracter.
2. {tergerea caracterelor se face cu tasta BackSpace sau ^H.
3. Oprirea din execu]ie a programului curent se face ac]ion=nd ^C care determin\ afi[area
prompterului.
4. ~ntreruperea tuturor proceselor aflate `n execu]ie (kill) se face prin comanda ^U. Se poate
defini alte secven]e pentru diferite porcese dorite, folosind comanda:
stty [-optiuni] [argumente]
stty -a afi[eaz\ toate caracteristicile terminalului.
stty proces "secventa" define[te tasta sau combina]ia de taste care determin\
executarea unui proces.

Exemplul 1. Pentru aflarea datei [i a orei, se introduce comanda:
$ date <Enter>
Aceast\ comand\ accept\ exprimarea unor op]iuni [i argumente referitoare la formatul de
afi[are (%d.%m.%Y, %H:%M:%S).

Exemplul 2. Pentru ie[irea din sistem, se d\ comanda:
$ exit <Enter>
sau
$ <CTRL-d>

Exemplul 3. Schimbarea parolei proprii se face cu comanda:
$ passwd <Enter>




Exemplul 4. Definirea secven]ei (Ctrl-H) de [tergere a caracterelor, se face cu comanda:
$ stty erase "^H" <Enter>

Exemplul 5. Secven]a (Ctrl-c) de `ntrerupere a execu]iei unui program, se define[te astfel:
$ stty intr "^C" <Enter>

Exemplul 6. Comanda de afi[are a unui mesaj pe ecran are obligatoriu ca argumente [irul de
caractere care vor fi reprezentate, eventual `ncadrate cu apostroafe dac\ lungimea mesajului
dep\[e[te lungimea liniei de pe ecran:
$ banner ' BINE ATI <Enter>
>VENIT' <Enter>
Se observ\ apari]ia prompterului > pentru continuarea liniei anterioare.

Alte comenzi cu caracter general sunt:

who comanda de aflare a informa]iilor despre utilizatorii activi la un moment
dat.
who am i afi[eaz\ numele utilizatorului [i informa]ii despre terminal.
whoami afi[eaz\ numai numele utilizatorului activ la acel moment, pe terminal.
man [-k|n] termen afi[eaz\ informa]iile con]inute `n manualul de sistem, referitoare la un cuv=nt
sau o comand\ specificat\ `n argumentul "termen", cu op]iunea -k pentru afi[a toate intr\rile ce
con]in acel termen, sau cu specificarea num\rului sec]iunii dorite din manual (n).
whereis termen comanda de deducere a sec]iunilor care fac referiri la termenul dorit.
mail comanda de citire a mesajelor din c\su]a po[tal\ proprie.
mail [destinatar] comanda de expediere a unui mesaj prin sistemul de po[t\ electronic\
(Expedierea este marcat\ de combina]ia de taste ^d).
write [destinatar] comand\ de scriere c\tre un alt utilizator, activ la acela[i calculator.
mesg [y|n] comanda de acordare sau invalidare a permisiunii de scriere la acel terminal
(f\r\ op]iuni, afi[eaz\ setarea anterioar\).

Observa]ii:
Tasta <Space> determin\ afi[area urm\toarei pagini cu informa]ii utile.
Tasta <Enter> permite afi[area urm\toarei linii.
Cu tasta <q> (Quit) se iese din manual.



Afi[area mesajelor se face pe principiul LIFO (Last-In First-Out).
Comanda mail `[i introduce propriul prompter (?) care poate fi urmat de una din
urm\toarele comenzi:
? se solicit\ informa]ii ajut\toare (help).
d [terge mesajul afi[at din cutia po[tal\ (delete).
s [fisier] salveaz\ mesajul `n fi[ierul specificat (save).
<Enter> determin\ afi[area urm\torului mesaj.
+ idem.
- afi[eaz\ mesajul anterior.
![comanda] execut\ o alt\ comand\ UNIX.
q ie[ire din cutia-po[tal\ cu eventuale modific\ri (quit).
x ie[ire din cutia-po[tal\ f\r\ a schimba con]inutul acesteia (exit).

B.2 ORGANIZAREA SISTEMULUI DE FI{IERE SUB UNIX

Sistemul de fi[iere `ntr-un sistem UNIX este organizat ierarhic, sub forma unei diagrame de
tip 'arbore', cu un nod-r\d\cin\ (notat: /), cu directoare, subdirectoare [i fi[iere (Fig.B.1).
Pe primul nivel se g\sesc urm\toarele directoare:
/bin con]ine fi[ierele de execu]ie a comenzilor pentru opera]iile de baz\ `n
sistemul de operare [i manipulare de fi[iere.
/dev con]ine driverele componentelor hardware din sistem.
/etc cuprinde programele accesibile numai administratorului de sistem.
/ux reprezint\ directorul-sistem, care con]ine sistemul de operare UNIX.
/usr include comenzi uzuale, altele fa]\ de cele incluse `n directorul /bin.
/tmp con]ine fi[iere temporare.
/users include subdirectoarele de lucru [i conturile utilizatorilor.
Structura se ramific\ `n subdirectoare:
/usr/bin cuprinde comenzi suplimentare, care nu sunt absolut necesare sistemului.
/usr/mail include ca subdirectoare "cutiile po[tale" (mailboxes) ale utilizatorilor.
/usr/local/bin con]ine aplica]iile dezvoltate local.
/usr/man reprezint\ manualul cu informa]ii ajut\toare pentru utilizatori.
/users/user1 este directorul creat de c\tre administrator pentru utilizatorul 1.
/users/user2 este directorul creat de c\tre administrator pentru utilizatorul 2 [.a.m.d.





Observa]ie:
La crearea unui director, se definesc automat dou\ directoare, notate "." [i "..", pentru
exprimarea simplificat\ a c\ilor relative `n graf:
. reprezint\ directorul curent.
.. semnific\ nodul ierarhic superior, adic\ directorul "p\rinte".

Exemplul 7. Din nodul "user1" se definesc urm\toarele c\i cu semnifica]iile specificate:
. echivalent cu /users/user1
.. echivalent cu /users
../.. echivalent cu /
./work echivalent cu /users/user1/work
../user2 echivalent cu /users/user2
../../usr echivalent cu /usr

B.3 COMENZI DE OPERARE CU DIRECTOARELE

pwd comanda de determinare a directorului curent (present working directory),
exprim\ calea absolut\ din graf spre directorul curent.



cd [director] comanda de schimbare a directorului curent (change directory) `n cel
exprimat `n mod relativ sau absolut ca argument al comenzii.
F\r\ argumente, determin\ `ntoarcerea `n directorul de login (home
directory).
mkdir [-p] [director] comand\ de creare a directorului (make directory), eventual a celor
intermediare dac\ nu exist\ (se include op]iunea -p). E admis\ crearea
simultan\ a mai multor directoare. Se exprim\ ca argument fie calea
absolut\, fie una relativ\ pentru fiecare director nou creat.
rmdir [director] comand\ de [tergere a directorului (remove directory) cu condi]ia s\
nu con]in\ fi[iere sau subdirectoare. E admis\ [tergerea simultan\ a
mai multor directoare.
ls [optiuni] [cale] comanda de listare (list) a directoarelor [i fi[ierelor subordonate
nodului exprimat prin argumentul "cale", relativ sau absolut. Op]iuni:
-a listeaz\ toate (all) subdirectoarele [i fi[ierele, inclusiv cele de
configurare, cu prefixul "."
-d listeaz\ caracteristicile directorului.
-l listeaz\ atributele tuturor fi[ierelor incluse `n director.
-F listeaz\ formatat con]inutul directorului (se specific\ sufixul / `n
cazul subdirectoarelor [i sufixul * pentru fi[ierele executabile).
-R listeaz\ recursiv toate fi[ierele din directorul curent [i din
subdirectoarele subordonate acestuia.

Observa]ie:
Unele sisteme UNIX admit folosirea comenzilor sub form\ prescurtat\. Orice comand\ se
execut\ numai dup\ ac]ionarea tastei <Enter>.

Exemplul 8. Comanda de listare formatat\ a directoarelor [i fi[ierelor subordonate nodului
'r\d\cin\' se d\ sub forma:
$ ls -F<Enter>
sau
$ lsf <Enter>

Exemplul 9. Se aplic\ aceste comenzi pentru nodul "User2". Observa]i efectele lor.
$ pwd



/users/user2
$ ls .. /user1
work doc1
$ ls -aF /users/user1
work/ .profil doc1
$ ls ..
user1 user2
$ ls -F ..
user1/ user2/
$ ls -R ..
user1 user2
./user1:
work doc1
$ ls user1
user1 not found
$ cd ..
$ pwd
/users
$ cd ..
/
$ cd ..
/
$ cd /usr
$ pwd
/usr
$ ls -F .
bin/ mail/ local/ man/
$ mkdir proba
$ pwd
/usr
$ cd ./proba
$ mkdir dir1 dir2
$ ls -F



dir1/ dir2/
$ cd ..
$ rmdir proba
rmdir: proba not empty
$ rmdir proba/dir1 proba/dir2 proba
$ cd ../bin
$ ls -F
ls* cp* rm*

B.4 COMENZI DE OPERARE CU FI{IERELE

Prin fi[ier (file) se `n]elege o colec]ie de date, de natur\ divers\: text, imagine, driver,
executabil, director.
Cu un editor de texte, se introduc caractere ASCII [i se ob]ine un fi[ier obi[nuit (regular
file).
Dac\ se scrie un program folosind un limbaj de programare (C++, Turbo C, Java) se ob]ine
un cod-surs\ care prin compilare devine fi[ier executabil (program file), stocat `ntr-un director de
tip /bin.
Mai multe fi[iere sunt stocate `ntr-un director (directory), care reprezint\ un fi[ier special,
con]in=nd numele [i adresele de memorie ale componentelor, precum [i numerele de identificare ale
acestora `n sistemul de fi[iere (inode number).
Pentru componentele hardware se folosesc fi[iere de tip 'driver', de interfa]are cu sistemul de
operare (kernel), denumite [i fi[iere periferice (device file), stocate `n directorul /dev.
Numele fi[ierului are maximum 255 de caractere alfanumerice [i de punctua]ie: 'punct' (.),
cratim\' (-), 'liniu]\ de subliniere' ( _ ). ~n unele variante de UNIX aceast\ limit\ are valori mai mici,
de exemplu, 14 `n HP-UX.
Ca r\spuns la comanda ls -l, tipul fi[ierului se specific\ pe prima pozi]ie, astfel:
- fi[ier obi[nuit
d director
l fi[ier de leg\tur\
n fi[ier de re]ea
c driver pentru un periferic de afi[are a caracterelor
b driver pentru un periferic care lucreaz\ cu blocuri de date



p driver pentru un canal de comunica]ie interprocese (pipeline).
Ca atribute ale unui fi[ier se mai specific\, `n afar\ de tipul acestuia, drepturile de acces
(citire, scriere), num\r de noduri subordonate, nodul ierarhic superior, dimensiunea fi[ierului
exprimat\ `n octe]i, data [i ora c=nd a fost accesat ultima oar\ [i `n final, numele fi[ierului.
Afi[area pe ecran a con]inutului unui fi[ier se poate face fie `n `ntregime, prin comanda cat,
av=nd obligatoriu ca argiment numele fi[ierului, fie segmentat, pagin\ cu pagin\, folosind comanda
more.
Dac\ se dore[te afi[area ultimelor n linii dintr-un fi[ier, atunci se d\ comanda:
tail [-n] [nume fisier]
Alte comenzi de operare cu fi[ierele sunt urm\toarele.
Comanda de copiere:
cp [-optiuni] [fisier1] [director|fisier2]
Se copie fisierul 1 `ntr-un nou fi[ier 2, creat `n acela[i director dac\ nu se precizeaz\ alt
director, sau `ntr-un fi[ier cu acela[i nume (fisier1) dar `n directorul specificat de cel de-al doilea
argument al comenzii, eventual sub un alt nume (fisier2) dac\ este dat `n comand\.
Primul argument poate fi multiplu, cu condi]ia ca destina]ia s\ fie un director.
Op]iunile comenzii pot fi:
- i de operare interactiv\, pentru a se cere acordul `n cazul suprascrierii unui fi[ier deja
existent.
-r de operare recursiv\, `n cazul `n care dorim s\ copiem `n `ntregime un director `n alt
director.

Mutarea sau redenumirea unui fi[ier (director) se face cu comanda:
mv [-optiuni] [director|fisier1] [director|fisier2]
{i `n acest caz, ca argumente se folosesc c\i absolute sau relative ale unor fi[iere sau
directoare.
Op]iunea de operare interactiv\ - i ne avertizeaz\ `n cazul `n care exist\ deja la destina]ie un
fi[ier cu acela[i nume ce urmeaz\ a fi rescris.
Comanda de mutare a fi[ierelor difer\ de cea de copiere prin faptul c\ nu se creeaz\ fi[iere
noi, num\rul total de fi[iere nu se modific\.

Comanda de [tergere a unui fi[ier sau a con]inutului unui director este:
rm [-optiuni] [director|fisier]
~n acest caz, este indicat\ folosirea op]iunii de operare interactiv\ - i .



{tergerea tuturor fi[ierelor dintr-un director este posibil\ prin includerea `n linia de comand\
a op]iunii de operare recursiv\ - r, fiind recomandat\ exprimarea ambelor op]iuni - ir. Spre
deosebire de comanda rmdir `n acest caz, directorul exist\ `n continuare, dar nu mai con]ine
nimic.
Op]iunea - f determin\ [tergerea necondi]ionat\, f\r\ avertismente a tuturor fi[ierelor
specificate `n lista de argumente.

Exemplul 10. Se consider\ nodul curent user1. Observa]i efectele urm\toarelor comenzi:
$ pwd
/users/user1
$ ls -F
work/ doc1
$ ls work
doc2
$ cp doc1 work
$ ls work
doc1 doc2
$ cp doc1 doc3
$ ls -F
work/ doc1 doc3
$ cat doc1
Acesta este un fisier de test.
Se foloseste pentru exemplificarea comenzilor.
$ cat doc3
Acesta este un fisier de test.
Se foloseste pentru exemplificarea comenzilor.
$ tail -1 doc3
Se foloseste pentru exemplificarea comenzilor.
$ ls .. /user2
ls: user2 is empty
$ cp doc1 doc3 .. /user2
$ ls .. /user2
doc1 doc3



$ cp -ri work .. /user2
$ cd .. /user2
$ ls -FR
work/ doc1 doc3
./work:
doc1 doc2
$ mv doc3 work
$ ls -F
work/ doc1
$ ls work
doc1 doc2 doc3
$ mv work test
$ ls -F
test/ doc1
$ ls test
doc1 doc2 doc3
$ rm -i doc1
doc1? y
$ cat doc1
cat: cannot open doc1
$ ls -F
test/
$ rm test
rm: test directory
$ rm -r test
$ ls test
test is empty
$ ls -F
test/
$ rmdir test
$ ls
user2 is empty
$ cd ..



$ mv user1 user2
$ ls user1
user1 is empty
$ ls user2
work doc1

Observa]ie:
~n cazul oper\rii interactive, utilizatorul poate r\spunde afirmativ, tast=nd y (yes), ori
negativ, prin n (no) sau <Enter>.

S-ar putea să vă placă și