Documente Academic
Documente Profesional
Documente Cultură
Lucrarea 1
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
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.
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.
/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
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:
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 : .
$ 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
$ 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:
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
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:
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.