Cursul 2
Notiuni Linux de baza – partea I
Dragoş Acostăchioaie
http://www.adt.ro
Fisiere
Particularitati ale fisierelor pe sistemele UNIX
maxim 255 caractere lungime
casesensitive
fara restrictii, exceptand caracterul “ /”
nu se utilizeaza ideea de “ extensie”
Tipuri de fisiere
ordinare (fisiere text sau binare)
directoare
speciale
dispozitive (fizice, virtuale; orientate pe caracter, bloc)
pipe (comunicatie intre procese prin cozi FIFO)
socket (comunicatie intre calculatoare)
legaturi (fizice sau simbolice)
Inoduri
fisierele sunt identificate prin inumber (index dintrun sir de inoduri)
inodurile contin atributele asociate fisierelor:
tipul
A proprietarul (UID si GID)
t
r permisiunile de acces (Read, Write, eXecute)
i lungimea
b timpii ultimei operatiuni de accesare, modificare si schimbare a starii
numarul de legaturi
Organizarea fisierelor
fisierele sunt grupate in sisteme de fisiere (file systems)
sistemul de fisiere este organizat intro ierarhie unica, arborescenta
sistemul radacina este stabilit in momentul instalarii sistemului
toate sistemele de fisiere se regasesc in ierarhia unica (partitii,
discuri, la distanta)
fisierele se refera printro cale de directoare (separate cu “ /” )
exista un director curent (in cadrul shellului)
cai absolute (pornind de la directorul radacina, “ /” )
cai relative
orice director contine doua fisiere cu nume speciale
“ .” directorul curent
“ ..” directorul parinte
Comenzi pentru lucrul cu fisiere
Specificatori
metacaractere (wildcards)
“ ?” un caracter
“ *” mai multe caractere
“ [caractere]” interval
“ |” alternativa (SAU)
“ !” negatie
Comenzi pentru lucrul cu fisiere (continuare)
cp sursa destinatie – copie fisiere
mv sursa destinatie – muta/redenumeste
ln sursa nume (“ s” legatura simbolica) – creaza legatura
rm fisier – sterge
Argumente utile
“ f” forteaza comanda (fara confirmare; ignorand erorile)
“ i” mod interactiv
“ R” mod recursiv
find cale expresie actiune – cauta fisiere
name specificator – numele unui fisier
type tip – tipul fisierului (“ d” director, “ l” legatura...)
user utilizator – proprietarul fisierului
group grup – grupul
perm drepturi_acces – drepturile de acces
Comenzi pentru lucrul cu fisiere (continuare)
mkdir director – creeaza un director
rmdir director – sterge un director gol
cd director – schimba directorul curent
pwd – afiseaza directorul curent
ls director – afiseaza continutul unui director
“ a” – include fisierele “ ascunse”
“ l” – format lung, mai multe informatii
“ h” – dimensiunile in KBytes sau MBytes
“ R” – recursiv
du – afiseaza spatiul ocupat de un subdirector
df – informatii despre ocuparea partitiilor
Optiuni utile:
“ h” – dimensiunile in Kbytes sau Mbytes
Atributele asociate fisierelor
Proprietarul fisierului (owner)
utilizator (user)
grup (group)
alti utilizatori (others)
Drepturi de acces
citire (“ r” )
scriere (“ w” )
executie (“ x” )
Drepturi de acces directoare
“ r” drept de inspectare a continutului
“ w” adaugarea, stergerea de fisiere
“ x” dreptul de “ intrare” in director
Atribute speciale
SUID/SGID (“ s” ) schimbarea identitatii proprietarului
Sticky (“ lipicios” “ t” ) pentru directoare (stergerea
fisierelor doar de catre proprietar)
Atributele asociate fisierelor (continuare)
chmod – modifica drepturile de acces
Varianta 1:
“ u” utilizator
“ g” grup
“ o” alti utilizatori
“ +” acordare drepturi
“ ” revocare drepturi
“ r” , “ w” , “ x” drepturi
“ s” SUID/SGID
“ t” Sticky
Varianta 2:
grupuri de drepturi, a cate 3 biti
(in octal) – u, g, o
atribute speciale – SUID, SGID,
Sticky
“ 1” drept acordat
“ 0” drept revocat
Modificarea proprietarului
chown proprietar[:grup]
chgrp grup
numai de catre root!
Procese
in UNIX pot rula concurent mai multe programe = procese
procese obisnuite si daemoni
coada de asteptare in vederea executiei
starea procesului
rulare (running) “ R”
asteptare (sleep) “ S”
asteptare operatie I/O (wait) “ D”
oprit temporar (stopped) “ T”
terminare (terminate)
orfan (zombie) “ Z”
mod de executie
in prim plan (foreground) interactioneaza cu utilizatorul
in fundal (background)
Procese (continuare)
procesele pot avea prioritate diferita (planificat mai des pentru executie)
intre 20 (mai prioritar) si 20 (mai putin prioritar)
implicit este 10
nice n prioritate program – executa un proces cu o prioritate data
Comunicarea intre procese
comunicatia clasica intre procese in UNIX – semnalele
semnal = o valoare numerica
procesele pot redefini modul de tratare a semnalelor, pot ignora
semnalele primite (exceptand SIGKILL si SIGSTOP)
semnalele principale:
SIGHUP (1) semnalizeaza terminarea parintelui (utilizat
de multi daemoni pt recitirea fisierelor de
configurare)
SIGINT (2) intreruperea procesului
SIGQUIT (3) incetarea executiei (CTRL+C etc.)
SIGILL (4) operatie invalida
SIGSEGV (11) referinta invalida
SIGPIPE (13) comunicatie prin pipe intrerupta
SIGTERM (15) terminarea procesului
Comunicarea intre procese (continuare)
SIGUSR1 (16) semnale definite de utilizator
SIGUSR2 (17)
SIGCHLD (18) procesul copil sia incheiat executia
SIGSTOP (23) opreste temporar executia procesului
SIGCONT (25) continua executia dupa o oprire temporara
kill semnal PID – trimite un semnal catre un proces
pot fi trimise semnale doar proceselor proprii
utilizatorul root poate trimite semnale oricarui proces