Sunteți pe pagina 1din 6

Laboratorul 1

1. Forma unei comenzi Linux. O comanda Linux are 4 zone sau cmpuri:
Primul cmp conine numele propriu-zis al comenzii (cp - copiere, rmstergere), care indic ce aciune realizeaz comanda respectiv.
Al doilea este cmpul de opiuni. O opiune este de obicei o liter, care poate fi urmat
de un argument ir de caractere sau un numr ntreg. Un grup de opiuni ncepe cu semnul
'' - "(minus). Mai sunt unele comenzi care conin opiuni precedate de semnul "
+"(plus).
Zona de expresii conine un ir de caractere cerute ca argumente pentru comanda
respectiv.
Zona de fiiere conine numele fiierelor utilizate n cadrul comenzii lansate.
In intrducerea si editarea comenzilor se pot utiliza anumite combinatii de taste, prezentate
in tabelul 1.1.
Tasta sau
combinaia de taste
Ctrl-A
Ctrl-C
Ctrl-D

Efectul

Ctrl-E
Ctrl-H
Ctrl-L
Ctrl-R
Ctrl-Z
Sgeat stnga /
Sgeat dreapta
Sgeat sus/
Sgeat jos
Tab
Tab Tab

Mut cursorul la sfritul liniei de comand


Genereaz caracterul Backspace
terge terminalul curent
Caut istoricul comenzilor introduse la acel terminal
Suspend execuia unui program
Mut cursorul pe linia de comand cu o poziie la stnga,
respectiv dreapta, loc n care se pot insera caractere
Afieaz comanda anterioar sau urmtoarea

Mut cursorul la nceputul liniei de comand


Termin executia programului i afieaz prompterul
Se iese din sesiunea shell curent(acelai efect cu comenzile exit
sau logout)

Terminarea comenzii sau a numelui de fiier


Arat fiierul sau posibilitile de terminare a comenzii
Tabelul 1.1 Combinaii de taste

2. Redirectarea intrrilor i ieirilor.


Majoritatea comenzilor Linux au asociate un fiier de intrare i un fiier de
ieire. Implicit acestea sunt intrarea standard , respectiv ieirea standard. n mod
normal, fiierul standard de intrare este tastatura de la care se introduce comanda, iar
fiierul standard de ieire este ecranul calculatorului sau terminalului la care lucreaz
utilizatorul. Acestea primesc descriptorii de fiier 0 (intrare) i l (ieire) n procesul care
este utilizat pentru execuia comenzii. Un al treilea fiier standard, pentru erori, primete
descriptorul 2 i este transmis comenzii (de regul este acelai cu fiierul standard de
ieire). Interpretorul Linux permite ns utilizatorului sa specifice explicit n linia de
comand o alt identitate pentru intrarea standard i/sau ieirea standard, prin caracterele

speciale <, respectiv >. Astfel:


$ cat main.c >program.c
face ca listarea fiierului main.c din catalogul curent s nu apar pe ecran, ci s fie
salvat n fiierul program.c din catalogul curent. Pentru aceasta, nainte de a se
ajunge la lansarea n execuie a comenzii cat, shell-ul deschide pentru scriere fiierul
program.c i i acord descriptorul de fiier l n procesul care va executa comanda cat.
Dac fiierul program.c exist deja, prin operaia de deschidere pentru scriere
coninutul su anterior se pierde; dac fiierul nu exist, el va fi creat de ctre shell i va
avea iniial lungimea nul.
ntr-o comand n care se redirecteaz att intrarea ct i ieirea sintaxa va fi:
$ command <input >output
dar ordinea de specificare a redirectrilor nu este de regul semnificativ.
Bourne shell introduce cteva faciliti de redirectare suplimentare, prezentate n
continuare. Astfel, notaia:
n>
unde n este un ntreg, are semnificaia de redirectare pentru scriere a fiierului cu
descriptorul n. Se folosete aceast facilitate n special pentru redirectarea fiierului
standard de eroare. Sintaxa unei comenzi n care toate cele 3 fiiere standard sunt
redirectate este:
$ command <input >output 2> errors
Pentru ca fiierul n care se redirecteaz ieirea s nu fie suprascris, ci s se adauge la
sfritul lui noi date, se folosete semnul >>. De exemplu, pentru adugarea la sfritul
fiierului de erori sintaxa este 2>>. Astfel:
$ command >>logfile
va determina ca mesajele produse de command s se adauge la sfritul fiierului
logfile (fiierul jurnal n care se cumuleaz date despre serviciile oferite de comanda
respectiv.
Notaia <<c nseamn c urmtoarele informaii necesare unei comenzi se preiau
direct, de la tastatur (n regim interactiv) sau din textul unei proceduri shell (prezentat
n subcapitolul urmtor), pn la ntlnirea lui c (caracter sau text).
Cel mai interesant mecanism de redirectare prevzut n shell este ns cel de pipe
(canal), redat prin metacaracterul |. Sintaxa:
$ command1 | command2
are urmtoarea semnificaie:
- comenzile command1 i command2 vor fi lansate n execuie simultan, ieirea lui
command1 fiind utilizat ca intrare de command2. De fapt, command2 poate ncepe
efectiv execuia numai dup ce are un element de informaie de la command1 (dar nu
trebuie s atepte pn cnd command1 termin de produs tot ce va furniza ca ieire).
- pentru ca cele de mai sus s se poat realiza, shell-ul va specifica drept ieire (descriptor
de fiier 1) pentru command1 un fiier (este de fapt o structur numit pipe gestionat
de nucleul Linux) i acelai fiier va fi indicat i pentru command2 ca intrare
(descriptor de fiier 0).
Exemplu: Combinarea unor comenzi. Dac se dorete ca din ieirea comenzii
ps(Processes status) s se selecteze numai procesele care aparin unui utilizator
i acestea s fie afiate pe ecran, se poate proceda astfel:
$ ps -aux >temp

$ grep ionel temp


dar acelai efect se poate obine i printr-o linie de comand unic, n care apare un pipe:
$ ps -aux | grep ionel
3. Comenzi pentru operaii asupra cataloagelor i fiierelor
Comanda mkdir (make directory = creeaz catalog)
Sintax: mkdir [-p] nume_catalog
Efect: Crearea unui catalog. Dac este prezent opiunea -p se creeaz i cataloagele
printe care lipsesc din numele de cale dat pentru catalogul dorit. Exemplu:
$ mkdir p /home/flo/c/so/exemple
Dac nu au fost nc create cataloagele flo, c i so, ele vor fi create, n aceast ordine,
nainte de crearea catalogului exemple.
Comanda pwd (print working directory = tiprete catalogul de lucru).
Sintax: pwd
Efect: Afiarea numelui catalogului curent. Se utilizeaz pentru a se verifica poziia
momentan n ierarhia de cataloage ntr-o sesiune de lucru sub Unix.
Exemplu de utilizare:
$ pwd
/home/Florea/Ion/Fisiere
$
Comanda ls (list = listeaz)
Sintax: ls [opiuni] [nume_fiier_sau_catalog]
Efect: Afiarea coninutului unui catalog. Se utilizeaz pentru a se afia numele
fiierelor de diferite tipuri incluse ntr-un catalog i, eventual alte informaii despre aceste
fiiere.
Opiunea -l (long = lung) determin afiarea unor informaii suplimentare despre
fiecare fiier din catalogul la care se refer comanda. Informaiile sunt luate din nodul
index. Folosind opiunea -l sunt afiate, de la stnga la dreapta urmtoarele informaii:
- tipul fiierului (d = directory, - = fiier obinuit);
- coninutul biilor de protecie/acces (r = read, w = write, x = execute), listai n
ordinea: proprietar, grupul proprietarului, restul utilizatorilor;
- numrul de legturi pentru intrarea curent, adic numrul de intrri n cataloage care
puncteaz spre acelai fiier fizic;
- numele de login al proprietarului fiierului;
- grupul proprietarului;
- lungimea fiierului, n octei;
- data ultimei modificri a fiierului;
- numele fiierului.
Exemplu: Utilizarea comenzii ls fr opiuni
$ ls
%ls
bin
bin etc main.c src
etc
%
main.c
src
$
Referitor la tipul fiierului se fac urmtoarele completri: n afar de d i - care au aprut

n exemplu, mai poate apare pe prima poziie unul din caracterele:


- b: intrarea reprezint un fiier special (un periferic), orientat pe bloc;
- c: intrarea reprezint un fiier special orientat pe caracter;
- l: intrarea este o legtur simbolic;
- p: intrarea este un fiier special FIFO (sau pipe cu nume);
- s: intrarea este un soclu (socket) pentru comunicarea n reea.
Exemplu:
$ ls -l
total 44
drwxr-xr-x
drwx------rw-r--r--

2 ij
i ij
1 ij

staff
staff
staff

drwxr-xr-x

3 ij

staff

512
512
4204
9
1536

Oct
Oct
Oct

13 11:20
11 08:12
2 19:49

Oct

6 22:17

bin
etc
main.c
src

Opiunea -a (all = toate) este folosit pentru a se lista i fiierele ascunse (fiierele al
cror nume ncepe cu caracterul punct ).
Exemplu:
$ ls -al
total 44
drwxr-xr-x
drwxr-xr-x

staff
staff

drwxr-xr-x
drwx------rw-r--r--

2 ij
7 roo
t
2 ij
i ij
1 ij

drwxr-xr-x

3 ij

staff

512 Sep
1024 Aug

staff
512 Oct
staff
512 Oct
staff 42049 Oct
1536 Oct

3 1994
10 1994

.
..

13 11:20 bin
11 08:12 etc
2 19:49 main.
c
6 22:17 src

Opiunea -i (index) afieaz i numrul nodului index asociat fiecrei intrri din
catalogul listat.
Exemplu:
$ ls li bin
tota 4483
l
3297 -r-xr-xr-x 1 i staf
450199 Sep 29 15:0 netscape
3
j f
6
9
2800 -r-xr-xr-x 1 i staf
78814 Oct
7 10:1 proiect
7
j f
1
Se observ c numrul nodului index este listat pe prima coloan. Dac opiunea -i este
utilizat fr alte opiuni (n principiu fr opiunea -l), numrul nodului index este listat
n faa fiecrui nume de fiier.
Pentru a schimba ordinea de listare implicit (alfabetic, dup numele fiierului) exist
mai multe opiuni:

-c: listarea se face n ordinea ultimei modificri a modului de acces la fiier (cel mai
recent modificat se listeaz primul);
-t: listarea se face n ordinea ultimei modificri a fiierului (cel mai recent modificat
primul);
-u: listarea se face dup timpul ultimului acces la fiier;
-r: inverseaz ordinea de sortare (invers alfabetic sau cel mai vechi modificat primul).
Uzual, dac n catalogul dat ca parametru pentru ls se ntlnesc i sub-cataloage,
coninutul acestora nu este listat. Se poate solicita ns aceast operaie prin opiunea -R.
-S sorteaza fisierele in ordine descrescatoare dupa dimensiunea lor.
Gasirea celor mai mari fisiere dintr-un director
Se face prin utilizarea comenzii ls cu optiunea `-S' , impreuna cu optionea `-l'
pentru a afisa dimensiunea si alte atribute ale fisierelor .
Exemplu: $ ls -lS
listeaza fisierele din directorul curent, cu toate atributele lor, sortate in ordine
descrescatoare dupa dimensiunea lor.
Comanda cd (change directory = schimb catalogul).
Sintax: cd [nume_catalog]
Efect: Schimbarea catalogului curent sau modificarea poziiei curente n ierarhia de
cataloage. Catalogul dat ca parametru devine noul catalog curent. Pentru ca aceast
comand s poat fi executat, utilizatorul trebuie s aib drept de cutare (redat prin x n
comanda ls) n catalogul dat ca argument. Utilizarea comenzii cd fr parametru
determin din orice poziie rentoarcerea n catalogul gazd al utilizatorului.
Comanda rm(remove = scoate, terge)
Sintax: rm [opiuni] nume_de_intrari
Efect: tergerea unei/unor intrri din catalog(tergere de fiiere). Prin rm se terg
intrri din catalog, deci numrul de legturi ctre un fiier (numr precizat n nodul index
al fiierului) este redus cu 1; n situaia special de tergere a ultimei legturi ctre un
fiier va fi efectuat i tergerea fizic (eliberarea spaiul ocupat de acel fiier pe disc i
suprimarea nodului su de index). Pentru execuia cu succes a comenzii, este necesar ca
utilizatorul s aib drept de scriere n catalogul unde se gsete intrarea specificat.
Opiunea i: utilizatorul este ntrebat nainte de tergerea efectiv a intrrii.
Opiunea -r(sau -R): realizeaz i parcurgerea recursiv a subcataloagelor din
catalogul la care se refer comanda. Aceast opiune are semnificaie n cazul specificrii
generice de nume de fiiere. Nu este permis tergerea intrrii .., adic a directorului
printe al fiierului.
Comanda rmdir (remove directory = terge catalog)
Sintax: rmdir [opiuni] nume_catalog
Efect: tergerea unui catalog. Comanda rm nu afecteaz n mod obinuit cataloagele.
Ea are efect asupra lor doar n cazul tergerii recursive a tuturor intrrilor unui catalog.
Pentru tergerea explicit a unei intrri de tip catalog trebuie utilizat comanda rmdir.
Opiunile sunt aceleai ca i la comanda rm. Este permis sa fie terse numai cataloage
care sunt goale (nu conin alte intrri dect . i ..).
Comanda cat (catenate = concateneaz)
Sintax: cat [opiuni] [nume_fiier]
Efect: Listarea coninutului unui fiier. Comanda se aplic n mod obinuit fiierelor

care conin text, dar poate fi executat i asupra fiierelor cu alt coninut. Un inconvenient
n cazul afirii pe ecran al unor fiiere mari este c utilizatorul va vedea doar ultima
parte a fiierului. Eliminarea acestui inconvenient se face folosind o alt comanda de
afiare more (nc) avnd sintax asemntoare, dar cu opiuni diferite. Prin more
coninutul fiierului este afiat cte un ecran la un moment dat i nu se trece la alt ecran
dect n urma interveniei utilizatorului, care are astfel posibilitatea s urmreasc tot ce
este afiat.
Opiunile principale pentru cat sunt:
-n: precede fiecare linie de text afiat cu numrul ei de ordine;
-s: substituie n afiare mai multe linii goale consecutive cu una singur;
-v:afieaz i caracterele netipribile (cu excepia lui TAB i NEWLINE) ntr-o form
vizibil.
Dac este omis numele fiierului, comanda cat consider implicit ca argument fiierul
standard de intrare (uzual tastatura) i va afia pe ecranul terminalului ceea ce utilizatorul
tasteaz. n acest caz pentru terminarea execuiei comenzii trebuie introdus caracterul
sfrit de fiier (EOF), de regul Ctrl-D.
Crearea unui fiier folosind cat. Se tasteaz
cat >nume_fiier
dup care se introduc liniile fiierului, urmate de Ctrl-D; observm c se realizeaz
redirectarea ieirii.
Concatenarea fisierelor. Daca se tasteaza
cat fis1 fis2 nume_fiier
atunci continutul lui nume_fiier consta in alipirea continuturilor lui fis1 si fis2.

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