Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Comenzi Unix - Interpretorul de comenzi
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

 

Interpretorul de comenzi

Dialogul cu Unix are loc prin intermediul unui terminal (emulator de terminal). Faza de atasare se compune din :

Login : user z8v11vn
Password : xxxxx

Contul si parola sunt specifice fiecarui utilizator fiind atribuite de catre administrator. Daca nu apare nici un mesaj trebuie incercat cu tasta <ENTER> de mai multe ori. Atit numele de cont cit si parola sunt case sensitive
(conteaza daca sunt litere mari sau mici). Parola nu este afisata in ecou pe ecran. Incheierea operatiei de admitere a utilizatorului in sistem este marcata prin afisarea (la terminal) a unui mesaj special numit promt. Forma acestuia difera de la un sistem la altul, putind fi un simplu caracter ($,%,#) sau o succesiune de caractere. Semnificatia comuna a acestor mesaje, indiferent de forma lor particulara, este ca sistemul asteapta receptia unei comenzi de la utilizator.

$_

sau alte promptere. Fiecare utilizator isi poate schimba propria parola cu

$passwd

Pentru a termina sesiunea de lucru se apasa <CONTROL> D sau se tasteaza exit.
Nu se va inchide terminalul pina ce nu apare din nou login: (se pot pierde actualizari de fisiere).

Modul cel mai simplu de folosire a unui sistem UNIX este cel interactiv: utilizatorul introduce o comanda; sistemul executa comanda si transmite rezultatul; sistemul afiseaza promptul, asteptind transmiterea unei noi comenzi.

In realitate, lucrurile sunt putin mai complicate, preluarea comenzii transmisa de utilizator fiind realizata de un program, iar executia sa de un altul.
Comenzile sunt preluate de unul din cele mai importante programe ale sistemului
UNIX, interpretorul de comenzi, numit shell in terminologia UNIX. El primeste fiecare comanda, o analizeaza, o interpreteaza si lanseaza apoi programul care executa comanda. La terminarea acestuia, interpretorul de comenzi preia controlul, afiseaza promptul si asteapta o noua comanda. Exista, desigur, si comenzi simple pe care interpretorul le executa fara a apela la alte programe
(comenzi interne).




Notiuni introductive despre procese. Executia comenzilor. Comanda date

In termenii utilizati in sistemul de operare UNIX, fiecare program in executie este un proces. Folosind aceasta notiune, se poate da descrierea corespunzatoare executiei unei comenzi dupa cum urmeaza. Comanda

$date

folosita pentru a afla ora si data curente, declanseaza urmatoarea secventa de actiuni:

* interpretorul de comenzi primeste comanda si o analizeaza;
* interpretorul de comenzi lanseaza procesul date, intrind totodata in asteptarea terminarii acestuia; se spune ca el trece in starea sleeping pe durata executiei comenzii;
* procesul date afiseaza informatia referitoare la data curenta, in forma

Wed Mar 27 09:14:33 EET 1996

* la terminarea procesului date, interpretorul de comenzi trece in running, preia controlul si afiseaza mesajul prompt.
Daca, din greseala, utilizatorul da comanda

$deita

interpretorul de comenzi cauta in directoarele /bin sau /usr/bin saau local, nu gaseste procesul cu numele deita, depisteaza eroarea si transmite un mesaj de avertisment

bash: deita: command not found

dupa care afiseaza promptul si asteapta o noua comanda.

Este usor de inteles ca, la un moment dat, mai multe procese pot fi incepute si neterminate. Spunem ca ele sunt active (gata de executie). De exemplu, la executia comenzii date sunt active interpretorul si procesul date insusi.
Subliniem ca daca doua procese sunt active, nu inseamna ca ele se executa simultan (procesorul este unul), ci doar ca executia ambelor a inceput si nu s-a terminat. In exemplul precedent, in timp ce se executa date, interpretorul de comenzi astepta terminarea lui. Ambele sunt considerate active, executia ambelor fiind inceputa, dar neterminata. Lista proceselor active ale unui utilizator poate fi aflata prin comanda ps - process status.

$ps
PID TTY STAT TIME COMMAND
7534 13 S 0:00 -bash
7889 13 R 0:00 ps

Informatiile afisate includ (pentru fiecare proces in parte): identificatorul procesului (PID), numarul terminalului de la care este lansat procesul (TTY, numar fizic sau identificator logic, de exe pp2), starea procesului STAT (in exemplul dat R inseamna in executie - running, S - sleeping, T - stopped,
I - idle), timpul alocat de sistem pentru proces (TIME), numele procesului
(COMMAND : ps).
Unix este un sistem multiuser si multitasking. Aceasta inseamna ca mai multi utilizatori se pot conecta la sistem si il pot utiliza simultan. Unix asigura fiecarui proces o cuanta de timp si apoi acorda cite o cuanta de timp celorlaltei procese. Ciclindu-se rapid intre toate procesele active, se da senzatia ca fiecare proces are dedicat calculatorul.
Optiuni pentru ps :
-ps -a afiseaza starea tuturor proceselor active din sistem (ps afiseaza numai procesele active de la respectivul terminal, numai unul este R celelalte fiind S, T, I etc)
-ps -l produce un format lung de afisare
-ps -x afiseaza informatii utile despre procese. Cele mai active procese sunt afisate primele. Cimpul USER este numele de login, %CPU si %MEM reprezinta procentul din timpul CPU si memoria reala dedicate proceselor,
SIZE si RSS reprezinta dimensiunea programului in kb si a partii rezidente.
-ps -v afiseaza statistici privind memoria virtuala

Daca se doreste lansarea unui proces in background trebuie folosit dupa numele lui &. Controlul va fi predat in continuare in foreground la terminal, in timp ce in background ruleaza procesul dat. Astfel

$sleep 10

intirzie afisarea prompterului aprox 10s. Daca se introduce

$sleep 10&
21079

se va crea un proces in background cu pid=21079, vizibil cu ps.

Notiuni introductive despre fisiere

Ca si in alte sisteme de operare (de exemplu MS DOS), si in UNIX fisierele constituie unitatile de memorare a informatiilor (date sau programe) totalitatea acestora alcatuind sistemul de fisiere. Pentru mai buna lor manevrare, evidenta fisierelor se pastreaza in cataloage (directoare), care nu sunt altceva decit tot fisiere, dar de un tip deosebit. Fisierele apartinind unui catalog pot fi, la rindul lor, cataloage, astfel incit sistemul de fisiere are o organizare ierarhica, arborescenta. Unix recunoaste patru tipuri de fisirere :

-fisiere normale
-fisiere speciale
-directoare (cataloage)
-fisiere pipe sau canale de comunicatie intre procese

Pentru a face o tratare uniforma a datelor, sistemul UNIX considera ca echipamentele periferice sunt tot fisiere, dar fisiere speciale. Marea majoritate a comenzilor relative la fisiere se aplica in egala masura fisierelor speciale.
Arborele sistemului de fisiere este construit pornind da la un catalog unic, radacina (root), notat cu /. Desemnarea celorlalte fisiere se face insirind numele cataloagelor succesive aflate pe calea de la radacina la fisierul dorit.
In cazul nostru, pentru a desemna fisierul calc.c aflat in catalogul val, care la rindul sau se afla in catalogul user din radacina putem scrie
/user/val/calc.c. Notatia mentionata constituie calea absoluta de acces la fisier (se observa diferenta fata de DOS unde in cale apare \). Asociat fievcarui fisier avem :

-o pozitie in ierarhie
-un nume
-o dimensiune
-un numar de blocuri continind datele fisierului

Pentru a usura scrierea, sistemul permite stabilirea unui catalog curent - cel ale carui fisiere sunt mai des utilizate. Se poate folosi astfel o cale de acces relativa la catalogul curent. Prin aceasta, fisierul /user/val/calc.c este desemnat prin notatia calc.c, daca user este catalogul curent. Dupa cum se observa, notatia relativa contine sirul cataloagelor aflate pe calea dintre catalogul curent si cel desemnat, incepind cu fiul catalogului curent din arborele sistemului de fisiere.

Prin conventie, sunt adoptate urmatoarele notatii, relative la catalogul curent:

* . desemneaza catalogul curent insusi;
* .. desemneaza tatal catalogului curent.

In exemplul dat, tatal lui val este user. Aceste notatii usureaza uneori desemnarea unui fisier, facind apel la tatal catalogului curent, sau la tatal tatalui.

Astfel, daca val este catalogul curent, atunci

../franc este echivalent cu /user/franc, iar
../../dev este echivalent cu notatia absoluta /dev (in cazul de fata mai simpla decit precedenta).

Exista un numar de conventii de instalare comune tuturor versiunilor
Unix

/bin utilitare, programe executabile
/dev fisiere speciale, drivere de intrare-iesire
/lib biblioteci
/lost+found fisiere defecte pentru a fi recuperate
/src surse

Tot prin conventie, la admiterea fiecarui utilizator in sistem se stabileste implicit catalogul sau curent. Acest catalog de referinta (home directory) constituie radacina arborelui de fisiere pe care utilizatorul si-l poate construi prin comenzi specifice. Numele complet al directorului home directory este salvata intr-o zona numita context. Afisarea contextului se face cu

$set

Schimbarea si aflarea catalogului curent. Comenzile cd si pwd

Utilizatorul poate schimba catalogul curent prin comanda cd (change directory - schimba catalogul curent). Daca val este catalogul curent, atunci comanda

$cd ..

determina schimbarea acestuia in user (tatal lui), iar comanda

$cd

determina revenirea la catalogul de referinta (indiferent care este catalogul curent, prin comanda pwd - print working directory- care afiseaza catalogul de lucru (curent):

$pwd
/user
$

Rezultatul arata ca /user este acum catalogul curent.

Mutarea, copierea si stergerea fisierelor. Comenzile mv, cp si rm

Comenzile de mutare, copiere si stergere de fisiere sunt frecvent utilizate in sesiunile de lucru. Comanda mv muta un fisier dintr-un loc in altul al sistemului de fisiere. De exemplu

$mv fis1 fis2

muta fisierul fis1 in fisierul fis2, facind practic o redenumire a acestuia. Dupa mutare, fisierul fis1 nu mai exista. Mutarea poate fi mai importanta, schimbindu-se catalogul in care este plasat fisierul. De exemplu

$mv fis1 /usr/tmp/fis2

face mutarea intr-un fisier din alt catalog decit cel curent. Daca fisierul in care se face mutarea exista deja, atunci continutul lui este inlocuit cu continutul fisierului mutat. Protectia si proprietarul fisierului destinatie nu se modifica. Altfel, fisierul este creat, si abia apoi se face mutarea. Protectia noului fisier este cea a fisierului de origine.

Destinatarul poate fi un catalog. In acest caz, fisierul se muta in noul catalog pastrind numele din catalogul sursa. In plus este posibila mutarea mai multor fisiere:

$mv fisier1 fisier2 fisier3 catalog1

Forma generala a comenzii de mutare este urmatoarea:

mv a-iia-fia-i fisier1 fisier2 mv a-iia-fia-i fisier... catalog

Daca fisier2 exista, el este sters inainte de mutarea lui fisier1; daca el este protejat la stergere, atunci se cere confirmarea utilizatorului. In a doua forma fisierele pastreaza numele originale.
Optiunile sunt urmatoarele:
- permite ca numele unui fisier sa inceapa cu caracterul -;
-f forteaza mutarea, indiferent de drepturile de acces la fisiere (modul fisierelor);
-i cere confirmarea utilizatorului, pentru mutari care modifica fisiere destinatare.

Copierea fisierelor are un efect similar, dar fisierele care se copiaza raqmin in continuare in sistem. Comenzile prezentate ca exemple la comanda anterioara devin:

$cp fis1 fis2
$cp fis1/usr/tmp/fis2
$cp fisier1 fisier2 fisier3 catalog1

Prima copiaza continutul unui fisier in altul. Daca fisier2 exista deja, atunci proprietarul si modul sunt pastrate. Astfel, se imprumuta valorile de la fisier1.
A doua forma copiaza unul sau mai multe fisiere intr-un catalog, pastrind numele originale. In a treia forma, unul sau mai multe cataloage sursa sunt copiate intr-un catalog destinatar, cu numele de fisiere originale.

Optiunile au urmatoarele semnificatii:

-f forteaza stergerea numelor existente pentru caile destinatiei, inainte de copiere;
-i cere confirmarea utilizatorului pentru toate fisierele destinatie afectate de comanda;
-p pastreaza informatiile caracteristice ale fisierelor (data modificarii, proprietar etc);
-r copiaza recursiv cataloage, cu toate subcataloagele lor.

Desi poate parea ciudata discutia despre stergerea fisierelor, atiat timp cit nu s-a prezentat modalitatea de creare a lor, importanta pe care aceasta operatie o are in activitatea utilizatorului justifica prezentarea ei cit mai devreme.
Comanda care permite stergerea fisierelor este rm (remove). Comanda provoaca stergerea fisierelor specificate. Ea are forma generala

rm a-fia-ria-iia-i fisier /catalog

unde optiunile se refera la urmatoarele:

-i se cere o confirmare a utilizatorului la fiecare fisier
-r forteaza stergerea fara confirmare
- numele fisierului incepe cu semnul -r sterge recursiv toate fisierele din catalogul indicat si apoi sterge si catalogul

Exemple privind utilizarea comenzii vor fi date in continuare.

Crearea si distrugerea cataloagelor. Comenzile mkdir si rmdir

Comanda mkdir este folosita pentru crearea unui catalog. Forma generala a comenzii este

mkdir nume_catalog

Ca efect, se creeaza catalogul nume_catalog, ca sub-catalog al catalogului curent.
La crearea unui nou catalog, in el se inscriu automat cele doua intrari (. si ..) corespunzatoare catalogului insusi si tatalui acestuia.

Comanda rmdir sterge un catalog. Forma ei este urmatoarea:

rmdir nume_catalog

Stergerea unui catalog presupune stergerea prealabila a tuturor fisierelor inregistrate in el (comanda de stergere a fisierelor este rm). Daca un catalog nu contine alte subcataloage, atunci comanda rm nume_catalog/* face acest lucru, daca utilizatorul poseda toate fisierele din nume_catalog si are drept de scriere in el.

Protectia fisierelor

Intr-un sistem in care coexista mai multi utilizatori, apare fireasca intrebarea:

"poate un utilizator sa foloseasca (intentionat sau accidental) fisierele altuia?
Mecanismul de protectie a fisierelor reprezinta raspunsul acestei intrebari.
Fiecarui fisier ii este asociat un ansamblu de indicatori care specifica drepturile de acces ale urmatoarelor categorii de utilizatori:

* proprietarul fisierului;
* utilizatorii care apartin aceluiasi grup cu proprietarul;
* ceilalti utilizatori.

Dreptul de acces al fiecarei categorii este stabilit la crearea fisierului si poate fi modificat de proprietar. In plus, administratorul (sau superutilizatorul) are drepturi de acces neconditionat in orice fisier. Dreptul de acces se poate reduce la simpla citire a fisierului, la modificarea lui, la executia programului continut de fisier sau la orice combinatie a acestor drepturi elementare.
Drepturile de acces asociate fisierelor pot fi cunoscute la listarea catalogului care le contine prin comanda ls, ca in exemplul ce urmeaza:

$ls -l total 2 drwxr-x-x 2 valentin 512 Apr 1 15:20 bin
-rw------ 1 valentin 157 May 6 16:38 exemplu
$

Aici, -l (log-list) reprezinta o optiune care cere sistemului sa afiseze informatii detaliate despre fisiere. Primul cimp al fiecarei linii precizeaza tipul fisierului (- obisnuit, d director, b fisier special de blocuri, c fisier special de caractere, p fisier pipe etc).

Drepturile sunt mentionate in ordinea proprietar-grup-oricare, iar conventiile folosite pentru desemnarea lor sunt:

r pentru drept de citire (read);
w pentru drept de scriere (write); x pentru drept de executie (execute);
- pentru inhibarea dreptului respectiv.

Pentru a afisa fisiere speciale sau invizibile se poate folosi

$ls -a

Cu comanda ln se pot crea nume alias pentru fisiere.

$ln f1 f2

Folosind apoi ls -i, se observa efectul lui ln, prin atribuirea unui alias unui fisier deja existent.

$ls -i f1
1562 f1
$ln f1 f2
$ls -i f1 f2
1562 f1
1562 f2
$

Avem acum doua nume, f1 si f2, pentru acelasi fisier fizic. Observatia care trebuie facuta este ca nu se pot crea aliasuri pentru directoare.

Pentru a afisa continutul fisierelor se poate folosi cat

$cat nume_fisier

Daca nu se introduce nici un parametru, cat citeste de la terminal primele
512 caractere sau pina ce se introduce ctrl-d. Cat permite afisarea mai multor fisiere, sau concatenarea lor intr-unul singur

$cat f1 f2 f3
$cat f1 f2 f3 > f4

Se poate crea un fisier vid f1 cu

$cat /dev/null > f1

sau se pot introduce informatii intr-un fisier

$cat > f1
Oh, Dane
Oh, Ioane
^D
$

Pentru a determina unde se gasesc unele fisiere se poate folosi find.
Find cauta recursiv, descendent in arborele de fisiere, de la un punct specificat si verifica fiecare fisier pentru verificarea conditiei.

$find nume expresie

Astfel

$find / -name '*.doc' -print

se cauta din root (/) iar conditia este ca extensia sa fie doc.

$find /usr/ana -name '*.doc' -print

aceeasi conditie in directorul /usr/ana

Comanda grep cauta intr-o lista de fisiere , linie cu linie, indeplinirea unei conditii

$grep test lista

Comanda wc contorizeaza linii, cuvinte si caractere din fisiere sau din standard input daca nu este specificat nici un fisier

$wc test
16 312 1564 test
$ls|wc -l
10

va contoriza numarul de fisiere din directorul curent.

Despre utilizatori. Comenzile who si finger

Asa cum am vazut, pentru admiterea unui utilizator in sistem, el trebuie sa fie inregistrat in fisierul de conturi si sa execute o secventa de actiuni de intrare
(login). Pe baza numelui, sistemul determina drepturile de acces ale utilizatorului si valideaza sau inhiba actiunile sale, punind astfel in practica protectia. Orice incercare a utilizatorului de a depasi limitele protectiei stabilite de sistem este sanctionata cu unh mesaj de eroare transmis de sistem, comanda nefiind executata. Astfel, incercarea de a scrie intr-un fisier pentru care utilizatorul nu are drept de scriere provoaca transmiterea unui mesaj
Permission denied, actiunea nefiind executata.

Este interesant ca sistemul permite ca un acelasi utilizator sa lucreze simultan la mai multe terminale (sau ca utilizatori diferiti sa foloseasca acelasi cont acelasi nume si aceeasi parola de intrare). Lista utilizatorilor, impreuna cu terminalele asociate si cu momentele intrarii in sistem pot fi aflate prin comanda who:

$who root tty2 Mar 27 10:48 root tty1 Mar 27 10:47 marni ttyp5 Mar 27 10:50 (marn37.cs.tuiasi.ro)
$

Aici, in a treia linie, marni este numele utilizatorului, ttyp5 este terminalul iar Mar 27 10:50 este momentul deschiderii sesiunii de lucru (luna, ziua, ora, minutul). Domeniul din care face parte utilizatorul este marn37.cs.tuiasi.ro.

Pentru a afla numele utilizatorului de la terminalul curent trebuie introdus

$who am i sigma!marni ttyp5 Mar 27 10:52 (marn37.cs.tuiasi.ro)

Daca dorim sa aflam informatii despre alti utilizatori din sistem, atunci putem folosi comanda finger. Ea furnizeaza urmatoarele informatii despre utilizatori: numele de login, numele complet, numele terminalului de acces, timpul nefolosit
(idle), momentul inceperii sesiunii, locul de lucru si adresa. Daca este interzisa scrierea la terminal, numele acestuia este precedat de un asterisc.
Timpul nefolosit este specificat in minute, sau ore si minute. De exemplu:

$finger
Login name TTY Idle Login Time Office ion Popescu Ion q2 Wed 13:09 cs144.cs.tuiasi. vasile Vasile Ionel p3 22 Wed 11:43 cs142.cs.tuiasi.

Orice comanda poate fi invatata prin inspectarea manualului,

$man -k cuvint_cheie

Comanda are mai multe optiuni, care permit selectia unor pagini de manual, a unor sectiuni, a formei de prezentare a continutului manualului si altele. Comanda man man ofera posibilitatea cunoasterii tuturor amanuntelor despre utilizarea comenzii man. Pentru majoritatea cazurilor, forma man titlu, unde prin titlu se intelege numele unei comenzi, este suficienta.

Exista mai multe versiuni de manuale, dar varianta implicita este /usr/ucb/man.
Aflarea versiunii curente se face cu comanda which man, la care uzual se primeste raspunsul mentionat. Se poate cauta si dupa cuvint cheie dat ca parametru.
Elementele din lista pot fi folosite apoi la inspectarea anumitor pagini din manualul interactiv.

Pentru comanda echo, sistemul ne furnizeaza urmatorul raspuns:

$man echo

Name echo - echo arguments

Syntax echo a-uiaarg...i

Description
The echo command writes its arguments separated by blanks and terminated by the new line on the standard output.

Options
-n Suppress newlines from output

Examples
The echo command is useful for producing diagnostics in shell programs and for writting constant data on pipes.
To send diagnostics to the standard error file , type the following :

echo ... 1>&2

Concluzie :

Forma generala a unei comenzi UNIX este urmatoarea :

nume_comanda aoptiuneiafisieri...

unde
ai delimiteaza un element optional al comenzii optiune particularizeaza efectul comenzii; o optiune are forma unui caracter, precedat de semnul -; fisier desemneaza un fisier caruia i se aplica comanda.
Punctele de suspensie indica posibila repetare a componentei respective a comenzii.

In general, pe o linie se scrie o singura comanda. Este insa permisa scrierea unei comenzi pe mai multe linii, folosind ca semn de continuare caracterul '\'.
De exemplu :

$echo\ comanda aceasta este scrisa\ pe mai multe linii comanda aceasta este scrisa pe mai multe linii
$

De asemenea, se pot da mai multe comenzi pe aceeasi linie. Comenzile aflate pe aceeasi linie trebuie separate intre ele prin semnul ';'. De exemplu :

$ pwd; ls
/user2/home/valentin bin exemplu
$

Despre numele fisierelor. Caracterele *, ?, ai

In general, o comanda admite mai multe fisiere, care pot fi specificate uneori printr-o notatie prescurtata, folosind caracterele generice ?, * si ai, cu urmatoarele semnificatii :

? semnifica orice caracter;
* semnifica orice sir de caractere, inclusiv sirul vid;
alista_de_caracterei un caracter, oricare din cele mentionate in lista_de_caractere.

Citeva exemple ilustreaza utilitatea lor :

cot? semnifica toate numele de patru caractere, primele trei fiind cot (cota, cotb, cotc, ...); cas* semnifica toate numele avind oricite caractere, primele trei fiind cas
(cas, casa, castor, ...); cocai-mi semnifica toate numele de patru caractere, ultimul fiind unul dintre i,j,k,l,m; deci coci, cocj, cock, cocl, cocm.

Din cele prezentate nu trebuie inteles ca interpretorul inlocuieste notatia generica cu toate instantele posibile, alcatuind astfel o lista echivalenta.
Notatia generica constituie un tipar cu care sint comparate numele fisierelor asupra carora comanda curenta poate avea efect, fiind selectate acelea care se incadreaza in tipar. Astfel, comanda

$rm *.h

sterge toate fisierele cu extensia h, aflate in catalogul curent, iar comanda

$rm *

sterge toate fisierele din catalogul curent. Similar, comanda

$ls/dev/d? d1 d2 d3 d4
$

afiseaza numele fisierelor din catalogul /dev care au doua caractere, dintre care primul este caracterul d, adica d1, d2, d3 si d4.
Exista situatii in care utilizatorul poate dori ca sistemul sa interpreteze caracterele generice ca si caracterele obisnuite. In aceste cazuri, exista urmatoarele variante :

* caracterul generic este precedat de caracterul \;
*textul ce cuprinde caracterul generic este incadrat de ' (apostrof);
*textul ce cuprinde caracterul generic este incadrat de ".

Astfel, mas\*, 'mas*' si "mas*" sint interpretate ca mas* si nu ca un tipar de patru caractere, in care primele trei sint mas.

Interpretarea executiei unei comenzi

Unele comenzi sint simple si cu o durata de executie scurta. Altele sint mai complicate si de durata mare. Executia lor poate poate presupune un dialog cu utilizatorul, pentru furnizarea unor informatii suplimentare sau pentru transmiterea unor comenzi specifice. De exemplu, o comanda de editare a unui fisier pune in executie un editor. Comenzile de editare sint adresate editorului si nu interpretorului. Abia la terminarea editarii, editorul preia controlul, urmind ca el sa primeasca urmatoarea comanda. Programatorul trebuie sa stie, in orice moment, programul care-i preia comenzile si sa foloseasca numai acele comenzi pe care programul le cunoaste si le accepta.
Este posibil ca programatorul sa doreasca oprirea unui program inaintea terminarii executiei sale. El are la dispozitie un caracter special, de intrerupere. Forma sa cea mai raspindita este ^C, ^D, Del. Utilizarea lui provoaca terminarea fortata a programului si reluarea controlului de catre interpretorul de comenzi.
Putem proba functionarea caracterului de intrerupere, cerind afisarea descrierii unei comenzi oarecare, de exemplu :

$man date
Name date - print date and time
..........
..........
--More--(16%)

Sistemul afiseaza o pagina din aceasta descriere, asteptind interventia utilizatorului pentru a continua cu pagina urmatoare. Evident, in acest moment, programul man care face afisarea nu este terminat. Apasarea unei taste oarecare determina continuarea executiei lui.Utilizatorul poate determina terminarea executiei (si deci a sfirsitului descrierii) prin apasarea ^C. Ca urmare, sistemul nu mai afiseaza restul descrierii fiind reactivat interpretorul de comenzi.

Tema :
- exersati cit mai multe comenzi din Unix cu toate optiunile ce apar la descrierea din man


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta