Sunteți pe pagina 1din 9

Lucrarea 1

Introducere n Linux

Un calculator pe care ruleaz un sistem de operare Linux poate fi utilizat de mai muli
utilizatori simultan, fiind un sistem multi-utilizator. De asemenea, un utilizator poate rula
simultan pe un astfel de sistem mai multe programe, Linux fiind i un sistem multi-proces
sau multi-tasking. Scopul unui sistem multi-utilizator este s creeze fiecrui utilizator
iluzia c este singurul care utilizeaz sistemul1. Pentru aceasta, fiecrui utilizator i este
asignat un cont desemnat printr-un nume. Din motive evidente de securitate, fiecare cont
are asociat o parol.

Conectarea la sistem
Avnd n vedere toate cele spuse mai sus, pentru a putea folosi un calculator pe care
ruleaz Linux, mai nti trebuie nceput o sesiune de lucru. Deci, n momentul n care
apare un prompt de forma:
login as:
trebuie s introduce-i numele contului, dup care vi se va cere s introducei i parola:
login as:gigel
gigel@hostname's password:
Operaia de introducere a parolei este fr ecou2, tot din motive de securitate. Dac fie
numele, fie parola sunt incorecte3 vi se va cere s introducei din nou parola, dup un
mesaj de eroare:
login as:gigel
gigel@hostname's password:
Access denied
gigel@hostname's password:
Dac ai fost ns autentificai, sistemul v va oferi cteva informaii, precum ar fi data i
ora ultimei conectri, ce fel sistem de operare ruleaz, dup care aprnd promptul

Cu excepia comenzilor care l ajut s vad cu cine i n ce fel partajeaz sistemul.


Aceasta nsemnnd c, indiferent de numrul i caracterele tastate, pe ecran nu se va vedea nimic.
3
Atenie! Linux-ul este "case sensitive", fcnd distincie ntre majuscule i minuscule.
2

interpretorului de comenzi (sau "shell4") care ateapt prima dumneavoastr comand


Linux:
gigel@hostname:~$ exit
n acest caz, efectul comenzii exit va fi terminarea sesiunii.

Obinerea de informaii
n aceast seciune sunt prezentate cele mai importante comenzi, cele care v permit s
obinei informaii detaliate despre o comand, funcie sau fiier. O s ncep cu comanda
care v permite accesul la manualul online. Pentru aceasta, tastai man urmat de numele
comenzii. Putei de exemplu s ncercai:
$ man man5
O s avei surpriza, poate, s vedei c informaiile pe care le ofer man despre comanda
man se ntind pe aproape trei pagini. Pentru a iei, apsai tasta Q (sau q).
Dac dorii numai o scurt descriere a comenzii putei folosi comanda
$ whatis
care caut numai ntr-o baz de descrieri (whatis database). Acelai efect l are i man
mpreuna cu opiunea f:
$ man f whatis
n schimb, dac nu v aducei aminte numele comenzii putei s o cutai folosind un
cuvnt relevant pentru ce ar trebui s efectueze respectiva comand putei folosi man cu
opiunea k sau comanda :
$ apropos
Un alt mod de a obine informaii l ofer comanda help, care ofer numai informaii
despre comenzile "ncapsulate" n shell. Sintaxa acestei comenzi este:
help [-s] [ablon ]6

Cel mai probabil, interpretorul este Bourne Again Shell (bash). Alte shell-uri sunt: sh (cunoscut ca Bourne
shell), C shell (sau csh), Korn shell (ksh). Dup cum sugereaz i numele, bash este o reimplementare a lui
sh.
5
n continuare, promptul va fi desemnat numai prin $, chiar dac n realitate nu va fi ntotdeauna aa.
Aceasta nseamn c $ este deja prezent, ne mai fiind nevoie de tastarea lui.
6
Parantezele drepte semnific faptul c respectivul element de sintax este opional, iar indic faptul c
elementul anterior poate fi repetat.

Dac se specific cel puin un ablon, comanda help ofer informaii detaliate despre
toate comenzile care se potrivesc ablonului. Opiunea s limiteaz volumul de informaii
afiate.
Un alt mod n care se pot afla informaii despre o comand este folosind-o n mod
incorect, de exemplu mpreun cu opiunile xyz:
$ comand -xyz
Aceast combinaie este puin probabil s fie valid, aa c rspunsul poate s fie de
forma:
comand: invalid option x
Try 'comand --help' for more information.

Obinerea de informaii despre utilizatorii conectai


n caz c ai uitat deja, sistemul v poate rspunde cine suntei7. Pentru aceasta trebuie s
tastai:
$ whoami
Dac, din greeal sau nu, vei tasta:
$ who am i
sistemul v va oferi ceva mai multe informaii, pe lng nume spunndu-v ce fel de
terminal folosii i, ce-i mai important, de unde i de cnd v-ai conectat.
Un alt mod de a afla cine suntei vi-l ofer comanda id care v spune care este ID-ul
dumneavoastr precum i identificatorul de grup.
Dac dorii s aflai mpreun cu cine suntei conectat la sistem atunci v recomand
comanda:
$users
Aceasta comand afieaz numele tuturor utilizatorilor conectai. Dac dorii s aflai mai
multe informaii despre acetia avei la dispoziie comanda:
$ who
Iar dac, suplimentar, dorii s tii ce fac acetia8, folosii comanda:
$w
7
8

Cel puin din punctul lui de vedere.


inei cont tot timpul c i ceilali pot folosi aceste comenzi i multe altele.

Dac dorii s aflai care au fost ultimii utilizatori conectai, folosii comanda:
$ last
O informaie pe care nu o putei vizualiza, dar pe care o putei modifica, este parola.
Pentru aceasta avei comanda:
$ passwd
care va cere s introducei vechea parola i de dou ori noua parol.

Lucrul cu cataloage9 i fiiere


Din punctul de vedere al utilizatorului, sistemul de fiiere din Linux are o structur
arborescent, similar cu cea din MS-DOS i Windows. Rdcina sistemului este
simbolizat prin /. Catalogul rdcin conine de obicei numai cataloage, dar celelalte
cataloage pot conine att cataloage ct i fiiere. De fapt, n Unix tot ce nu e catalog e
fiier, inclusiv tastatura i ecranul fiind privite ca nite fiiere, precum i celelalte
dispozitive periferice.
Exist n rdcin un numr de cataloage care au un coninut mai mult sau mai puin
standard:

/bin care a fost gndit s conin toate fiierele executabile n format binar, dar
care de cele mai multe ori conine principalele comenzi ale sistemului, inclusiv
interpretorul de comenzi.
/dev conine fiierele prin intermediul crora sunt accesate perifericele.
/etc conine informaii administrative ale sistemului. De exemplu, parolele sunt
pstrate n fiierul passwd din acest catalog.
/home de obicei, acest catalog conine cataloagele utilizatorilor, inclusiv
cataloagele gazd ale acestora.
/lib conine bibliotecile sistemului permindu-se astfel partajarea mai uoar a
acestora.
/tmp este catalogul folosit pentru crearea de fiiere temporare.
/usr iniial, acest director a fost gndit s conin toate comenzile legate de
utilizator dar acum fiecare d propria interpretare acestui director.

Dup cum ai vzut, am prefixat toate numele de cataloage cu /. Atunci cnd un nume
ncepe cu acest catalog atunci el reprezint un nume de cale absolut, descrierea cii
ncepnd de la rdcin. Dac el nu ncepe cu catalogul rdcin, atunci este vorba de un
nume de cale relativ la catalogul curent. De exemplu, catalogul costel/gigel/test.cpp10
desemneaz fiierul test.cpp din catalogul gigel, aflat n catalogul costel din catalogul
curent. Pentru a afla catalogul curent se folosete comanda:
9

n continuare termenii catalog i director vor desemna acelai lucru.


Separatorul este /, spre deosebire de Windows i MS DOS unde separatorul este \.

10

$ pwd
care va afia calea absolut a catalogului curent. Iniial, catalogul curent este cel coninut
n variabila de mediu HOME. Variabilele de mediu pot fi vizualizate folosind comanda:
$ env
dei aceasta comand a fost proiectat pentru a permite rularea unui program ntr-un
mediu diferit. De fapt, valoarea variabilei HOME este setat la conectarea n sistem,
pentru fiecare utilizator existnd n fiierul /etc/passwd o linie cu urmtorul format:
cont:x:UID:GID:nume utilizator:HOME:SHELL
De exemplu:
gigel:x:1001:77:Gigel Gigi:/home/gigi:/bin/bash
Unde:

primul cmp reprezint numele contului (sau numele de login).


Al doilea cmp semnific faptul c parola criptat se gsete ntr-un fiier ascuns.
Al treilea cmp (UID) este identificatorul utilizatorului.
Al patrulea cmp (GID) este identificatorul de grup al utilizatorului, utilizatorii
fiind mprii n grupuri pentru a uura administrarea.
Al cincilea cmp reprezint numele (adevrat) al utilizatorului.
Al aselea cmp reprezint catalogul gazd al utilizatorului11.
Ultimul cmp reprezint numele complet al fiierului binar executabil care
conine interpretorul de comenzi care se lanseaz dup conectare.

O alt variabil de mediu important este PATH, care conine lista directoarelor pe care le
caut sistemul, n ordine de la stnga la dreapta, pentru a gsi comenzile i aplicaiile pe
care dorii s le lansai. n momentul n care este gsit prima comand potrivit cutarea
se termin. Aceast variabil poate conine mai multe directoare, separate prin : .

Modificarea catalogului curent


Pentru a schimba directorul curent se folosete comanda cd, sintaxa acestei comenzi
fiind:
cd director-nou
Dac dorii s selectai directorul printe al directorului curent folosii:
11

Evident cu aceast valoare este setat variabila HOME.

$ cd ..
Pentru "bunicul" directorului curent:
$ cd ../..
Pentru a selecta directorul cu numele frate, aflat la acelai nivel cu directorul curent avei
mai multe soluii. Prima, secvena de comenzi:
$ cd ..
$ cd frate
Sau:
$ cd ../frate
Dac dorii s selectai rdcina folosii:
$ cd /
Dac dorii s selectai subdirectorul etc din rdcin, putei folosi calea absolut:
$ cd /etc

Vizualizarea coninutului unui catalog


Pentru listarea coninutului unui catalog se folosete comanda:
$ ls
Comanda listeaz toate fiierele i directoarele din catalogul curent, sortate alfabetic de
sus n jos i de la stnga la dreapta, fcndu-se distincie ntre majuscule i minuscule. n
continuare o s prezint cele mai importante opiuni. Pentru a afla dimensiunea fiecrui
director sau fiier folosii opiunea s:
$ ls s
Numerele afiate n stnga numelor reprezint dimensiunea n blocuri de 1024 de octei.
Dac este setat ns variabila de mediu POSIXLY_CORRECT blocurile au numai 512
octei, cu condiia s nu fi fost folosit opiunea k, opiune care specific ca, n cazul n
care sunt afiate dimensiunile fiierelor, acestea s fie n kilo octei:

$ ls -ks
Comanda ls accept ca argumente o list de directoare i fiiere, listnd mai nti mai
toate fiierele din acea list dup care, pentru fiecare director, ntregul coninut al
directoarelor. Dac nu dorii s vedei coninutul directoarelor folosii opiunea d, iar
dac, dimpotriv, dorii s listai coninutul tuturor directoarelor recursiv
O alt opiune util este F care adaug un sufix anumitor tipuri de fiiere:

/ la sfritul numelor de directoare.


| la sfritul numelor de conducte FIFO.
= pentru socluri.
@ pentru legturi simbolice.
* la sfritul fiierelor executabile.

Dac dorii s listai numele ntr-o list separate prin virgul, folosii opiunea m. Dac
dorii s modificai criteriul de sortare avei variantele:

-r inverseaz ordinea.
-t sortare dup data ultimei modificri.
-u sorteaz dup data ultimei accesri.
-f n ordinea n care sunt memorate pe disc.
-x listare pe coloane, sortate orizontal.
-C listare pe coloane, sortate vertical (modul implicit).
-S sortare n ordine descresctoare dup dimensiune.
-X sortare alfabetic dup extensie (ceea ce urmeaz dup ultimul ".").

Dac dorii s vizualizai mai multe informaii, putei folosi formatul lung:
$ ls -l12
Efectul comenzii anterioare vor fi linii avnd o form similar cu urmtoarea:
-rwxr-xx 6 stefan users 1788 2003-12-31 25:59 a.out*
Primul caracter reprezint tipul fiierului, cele mai ntlnite caractere fiind 'd' pentru
directoare i '-' pentru fiiere obinuite. Urmeaz permisiunile (9 caractere) i numrul de
legturi hard. Urmtoarele dou rubrici sunt numele proprietarului i al grupului, apoi
dimensiunea n octei i data ultimei modificri. n fine urmeaz numele de fiier.

Permisiuni

12

L mic, 1 are alt efect.

Dup cum am mai zis, irul de permisiuni are 9 caractere, grupate cte trei: permisiunile
pentru proprietar, permisiunile pentru grup i permisiunile pentru ceilali. O permisiune
specific tipul de acces permis. Sunt permise urmtoarele caractere pentru descrierea
tipului de acces:

'r' are drept de citire.


'w' are drept de scriere.
'x' are drept de execuie.
'-' nu are.

Un ir care descrie drepturi depline att pentru proprietar, grupul proprietarului, ct i


pentru ceilali, este:
rwxrwxrwx
n schimb irul urmtor:
rwxr-x--x
spune c proprietarul are toate drepturile, grupul are numai drept de citire i execuie, iar
ceilali au numai drept de execuie.
Comenzile legate de permisiuni sunt : chmod pentru modificarea permisiunilor unui
fiier, umask pentru definirea permisiunilor implicite, chown i chgrp pentru schimbarea
proprietarului i a grupului. Aceste comenzi nu vor fi detaliate n aceast lucrare.

Crearea de noi directoare


Pentru aceasta se folosete comanda mkdir. Sintaxa acestei comenzi este:
mkdir [opiuni] nume_director...
Opiunile, fiind ncadrate de paranteze drepte sunt opionale, iar cele din sintax
semnific c se poate repeta elementul din stnga, folosind spaiul ca separator. Comanda
eueaz dac utilizatorul nu are drepturi de scriere n directorul printe al noului director
sau dac directorul exist deja. Numele de director poate fi att relativ ct i absolut, dar
directorul printe al noului director trebuie s existe. De exemplu, pentru ca urmtoarea
comand:
$ mkdir teste/crash
s reueasc este necesar, dar nu suficient, ca directorul curent s conin un director cu
numele teste.

Copierea
Copierea fiierelor i a directoarelor se realizeaz cu comanda cp, care are dou forme:
cp [opiuni]... sursa destinaia
cp [opiuni]... sursa... director
Uneori, cp copiaz att fiiere ct i directoare13, copiile fiind independente de originale.
Prima varianta permite copierea sursei n destinaie, iar cea de-a doua variant permite
copierea mai multor surse ntr-un director.

Mutarea (redenumirea)
Comanda mv poate fi utilizat pentru mutarea sau redenumirea fiierelor i a
directoarelor. Sintaxa este similar cu cea a comenzii cp:
mv [opiuni]... sursa destinaia
mv [opiuni]... sursa... director
Dac este folosit ultima form, mv mut fiecare fiier surs n directorul furnizat ca
ultim parametru.

tergerea
Pentru tergerea fiierelor se folosete comanda:
rm [opiuni] fiier...
n mod obinuit aceast comand nu terge directoare, n afara cazului n care se folosete
opiunea r (sau R). Pentru tergerea directoarelor se folosete comanda:
rmdir [opiuni] director...
Directoarele trebuie s nu mai conin nimic.

13

n mod implicit, cp nu copiaz directoare, dar atunci cnd se folosesc opiunile a, -R i r, nu are
ncotro.

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