Pagina precedentãPagina principalãPagina urmãtoareIndex


Sistemul de operare UNIX


Prezentarea sistemului de operare UNIX

       UNIX este un sistem de operare conceput în anii '70 pentru a fi folosit cu precãdere pe minicalculatoare (PDP11, VAX, IBM) sau calculatoare de mare capacitate (main frame, de exemplu cele din familia CRAY) dar a fost imediat adoptat de câteva mari companii (HP, SUN, DEC) pentru a echipa statiile grafice. El a fost creat ca rãspuns la necesitatea de a dispune de un sistem de operare multiuser si multitasking. La începutul anilor '90 el a fost adaptat si pentru calculatoare de tip IBM-PC având procesoare pe 32 biti (i386 sau superior). Varianta de UNIX cea mai popularã (fiind gratuitã) pentru calculatoare personale este Linux, dezvoltat la origine Linus Torvalds (1991). Astãzi de dezvoltarea sistemului Linux se ocupã zeci de echipe având sute de profesionisti.

      Fiind un sistem multiutilizator, în Linux fiecãrui utilizator i se atribuie un nume (user-name) si o parolã (password). Parola poate fi modificatã de cãtre utilizator.

      Conectarea la un server UNIX cu ajutorul unui calculator având ca si sistem de operare WINDOWS se realizeazã cu ajutorul utilitarului TELNET.

      Dupã indicarea serverului pe care se doreste conectarea, se realizeazã conexiunea si serverul afiseazã câteva informatii sub forma unui banner. Acesta se încheie cu linia login : care permite introducerea numelui si a parolei utilizatorului :

Red Hat Linux release 5.1 (Manhattan)
Kernel 2.0.34 on i686
login :damian
Password :

      Încheierea unei sesiuni de lucru si deconectarea se realizeazã cu comanda exit sau logout :

      Utilizatorul privilegiat (superutilizator, root) este cel care realizeazã gestiunea unui sistem sub UNIX si este autorizat sã introducã orice comandã. În general el se ocupã cu instalarea de noi componente software si hardware, creazã conturi pentru noi utilizatori, rezolvã problemele legate de blocãri accidentale sau de parole uitate. Pentru alte manevre chiar si administratorul unui sistem se conecteazã ca si utilizator standard, aceasta pentru a preveni accidentele.

Comenzi Linux (UNIX)

      Comenzile UNIX se scriu cu litere mici si au formatul:

            comanda [-optiuni] [argumente]

      Ele sunt interpretate de un program denumit shell si transformate în comenzi elementare pe care le poate executa nucleul sistemului de operare (kernel). Interpretorul uzual în UNIX este Bourne Shell, bash disponibil în Linux fiind un descendent al acestuia.

      În UNIX comenzile date de un utilizator sunt memorate (în fisierul .bash-history) , putându-se reveni la oricare dintre comenzile date folosind sãgetile. Tasta Enter provoacã reexecutarea comenzii la care s-a revenit. Dupã revenirea pe o comandã aceasta poate fi modificatã si apoi declansatã prin apãsarea tastei Enter.

      Optiunile unei comenzi precizeazã modul de executie si sunt precedate de – (minus). Ele pot fi scrise separat sau cumulate ( -r –w echivaleazã cu –rw).

      Separatorul folosit este spatiul.

      Comanda clear curãtã ecranul.

      Comanda echo imprimã pe ecran sirul de caractere introdus ca si argument :

            $ echo "Cine a zis ca este complicat?"

      Comanda este importantã însã pentru scrierea scripturilor asociate paginilor Web active (care contin formulare).

      Modificarea parolei se realizeazã folosind comanda passwd :

            $ passwd

Changing password for damian
(current) UNIX password :
New password:
Re-enter password:

      Parolele introduse nu apar pe ecran. Dar dacã operatia reuseste, apare un mesaj de confirmare (Password changed), dacã nu, apare mesajul "You mispelled it. Password not changed".

      O parolã este formatã din 6-8 caractere dintre care cel putin douã trebuie sã fie litere (majuscule sau minuscule) si cel putin un caracter trebuie sã fie o cifrã sau un semn special: #{}[]|\^~+=$ …

      Comanda man provoacã afisarea continutului paginii din manual aferentã comenzii introdusã ca si argument. Exemplu :

      $ man cal
CAL(1)            UNIX Reference Manual             CAL(1)
NAME
      cal - displays a calendar
SYNOPSIS
      cal [-jy] [month [year]]
DESCRIPTION (etc…)

Comenzi relative la fisiere si directoare

      Structura de directoare de pe discul unui calculator functionând sub Linux este afisatã mai jos.

      Continutul directoarelor este urmãtorul :
/indicã directorul rãdãcinã;
/bin fisierele executabile pentru majoritatea comenzilor disponibile utilizatorilor sistemului;
/etccontine fisiere de informatii si configurare printre care si passwdîn care sunt memorate datele de identificare ale utilizatorilor;
/usrcontine programe si fisiere de date importante pentru sistem dar nenecesare la demararea acestuia;
/mntdirector utilitar pentru sistemul de gestiune a fisierelor;
/devcontine fisiere asociate perifericelor;
/varcontine fisiere de informatii ale sistemului si care sunt actualizate în permanentã de cãtre acesta. De exemplu fisierele utmp si wtmp care contin informatii despre utilizatorii care sunt la un moment dat în sesiune de lucru;
/sbincontine fisiere pentru comenzile de gestionare a activitãtii sistemului (adduser, shutdown…);
/libcontine bibliotecile compilatorului C si biblioteci partajate (ca si fisierele .dll din Windows);
/homecontine fisierele utilizatorilor sistemului;
/proccontine informatii despre procesele în curs;
/sbincomenzi accesibile tuturor utilizatorilor care nu sunt în /bin;
/usr/srcdirectorul care contine codul sursã al programelor sistem;
/var/tmpdirectorul pentru fisiere temporare.

      Utilizatorii standard pot crea directoare si fisiere numai în directorul lor rãdãcinã (memorat în variabila de sistem $HOME) si în directoare derivate acestuia. Numele unui fisier sau director este format din 1-255 caractere. Sunt permise toate caracterele, chiar si cele neimprimabile, cu exceptia caracterului /. Numele fisierului nu poate începe cu – (minus).

      Indicarea cãii se realizeazã astfel :

      Crearea unui director (comanda mkdir) :

$ mkdir surse_C
$ mkdir d1 d2 d2/d3

      Ultimul exemplu creazã 3 directoare, d3 fiind un subdirector al lui d2.

      Suprimarea unui director (comanda rmdir) :

$ rmdir d2/d3 d2 d1

      Schimbarea directorului curent (comanda cd)

$ cd d2/d3
$ cd ..

      Suprimarea unui fisier (comanda rm)

$ rm f1.dat lista.html

      Se pot evident suprima mai multe fisiere cu o singurã comandã rm.

      Afisarea continutului unui fisier (comenzile more sau cat)

$ more informatii
$ cat informatii
$ cat .bash_profile test
$ cat f1 f2 > f3
$ cat f4 >> f3

      Cu un singur argument, cele douã comenzi functioneazã identic.

      Cu douã sau mai multe argumente (nume de fisiere) comanda cat realizeazã afisarea pe ecran a tuturor fisierelor, unul dupã altul. Dacã însã dupã comandã este pus semnul > (mai mare) si dat un nume de fisier (de regulã altul decât cele din stânga semnului >), rezultatul va fi crearea unui fisier nou (numele sãu fiind cel trecut dupã >) si memorarea în acesta din urmã a rezultatului concatenãrii fisierelor din stânga semnului >.

      Semnul >> folosit în locul semnului > indicã faptul cã fisierul (fisierele) din stânga semnului >> vor fi adãugate la sfârsitul celui indicat la dreapta semnului >>.

      Comanda more realizeazã imprimarea pe ecran pânã când acesta se umple dupã care imprimarea se opreste în asteptarea apãsãrii unei taste. Frecvent ea este folositã astfel:

$ cat f1 f2 f3 | more

      Copierea unui fisier (comanda cp)

$ cp f1 f2
$ cp doi/test.c

      Spre deosebire de DOS, în UNIX la copierea unui fisier directorul curent trebuie mentionat.

      Afisarea continutului unui director (comanda ls)

$ ls
Mail      dead.letter       exit mail

      Comanda ls provoacã afisarea numelor fisierelor dintr-un director. Dacã nu se indicã o cale, comanda se va referi la directorul curent.

$ ls /
bin      etc      mnt      sbin       vmlinuz
boot      home      proc      tmp      zImage
core      lib      public_html usr       zImage.bun
dev       lost+found root        var

      Fisierele de configurare ale UNIX-ului sau ale unor aplicatii încep cu un punct. Comanda ls nu va provoca afisarea numelor acestora. Pentru a forta afisarea lor se va folosi optiunea –a:

$ ls –a

      Pentru a afisa ansamblul de caracteristici care caracterizeazã un fisier în UNIX se va folosi optiunea –l :

      Modificarea drepturilor de acces (comanda chmod)
Formatul comenzii este:

            $ chmod n fisier

      n este un numãr în baza 8 (octal) format din 3 cifre. Prima cifrã stabileste drepturile proprietarului, a doua cele ale grupului acestuia iar a treia stabileste drepturile celorlalti utilizatori.

      Valorile se stabilesc pe baza tabelului urmãtor:

Exemplu :

            $ chmod 755 prog

- proprietarul are toate drepturile (rwx)
- membrii grupului cãruia acesta îi apartine si ceilalti utilizatori pot citi si executa programul (r-x).

      Afisarea cãii curente (comanda pwd)

            $ pwd
            $ /home/mihai

      Compilarea unui program în C (comanda cc)
Formatul comenzii este :

            $ cc prog1.c

      În urma compilãrii se executã automat editia de legãturi si va rezulta fisierul executabil care se numeste a.out. Acesta trebuie apoi redenumit folosind comanda mv :

            $ mv a.out prog1

      Dacã la compilare se utilizeazã optiunea –o rezultatul compilãrii nu va fi depus în fisierul a.out ci în fisierul specificat :

            $ cc Test.c –o Test

      Lansarea în executie a unui program se realizeazã tastându-i numele (eventual precedat de cale) :

            $ prog1
sau, dacã prog1 nu este în directorul curent :

            $ programe/prog1

Editorul de texte vi

      vi este editorul traditional în UNIX si este prezent în toate implementãrile acestuia.
Apelul editorului :

            $ vi program1

      Dacã fisierul program1 existã acesta va fi deschis, în caz contrar va fi creat.
Editorul vi are trei moduri de functionare: modul introducere text (insert), modul introducere comenzi (command) si modul "ex".