Untouchable
Moderator
 Din: San Venganza
Inregistrat: acum 18 ani
Postari: 1158
|
|
Comenzile Shell în sistemul Unix pot fi grupate din punct de vedere al functionalit??ii în mai multe categorii:
· comenzi pentru informare ( cal, date, time, who, echo, passwd, login, mail, elm, write, tty, stty, man);
· comenzi pentru gestiunea directoarelor ( pwd, cd, mkdir, rmdir, ls);
· comenzi pentru gestiunea fi?ierelor ( cat, pr, lpr,lp, file, find, rm, cp, mount, umount, mv, cmp, chmod, chown, chgrp, diff, sort, tsort, tail, wc);
· comenzi pentru gestiunea proceselor ( ps, nice, kill, sleep, time, sh, at );
· comenzi pentru gestiunea volumelor ( df, dn ).
Multe din comenzile Shell sunt de fapt utilitare cu foarte multe facilit??i. Pentru descrierea lor vom folosi, conform obi?nuin?ei, câmpuri op?ionale delimitate de paranteze drepte [ ?i ], precum ?i construc?ii lexicale pentru entit??i (director, fi?ier, etc. ) delimitate de paranteze ascu?ite < ?i >. Vom conveni ca pentru repetarea unui element s? utiliz?m imediat dup? el scrierea "?".
Comenzi pentru informare
1. $cal [<luna>] [<an>]
- afi?eaz? calendarul (gregorian) al lunii curente dac? lipsesc parametri
2. $date
- afi?eaz? data curent?
3. $time
- afi?eaz? timpul curent
4. $who
- afi?eaz? numele utilizatorilor conecta?i la sistem în momentul respectiv
5. $echo [<text>]
- afi?eaz? (un ecou) la ie?irea standard textul <text>
6. $passwd
- modific? parola existent? pentru utilizatorul respectiv
7. $login
- deschide o sesiune de lucru Unix care va cere numele utilizatorului ?i parola
8. $mail
- emitere/recep?ie pentru po?ta electronic?
a) expedierea : $mail <adresa> ?
- mesajul (de regul? mai scurt) se tasteaz? imediat dup? comand? ?i se va termina cu o linie ce va con?ine "."; mesajul se va transmite la destina?ie în directorul /usr/mail;
b) recep?ia : $mail
- consultarea cutiei po?tale proprie utilizatorului, numit? mbox, ?i care ofer? proprietarului ac?iuni de vizualizare, ?tergere, salvare pentru fiecare mesaj din cutia po?tal?;
Observa?ie.Se poate utiliza comanda $ELM pentru listarea tuturor mesajelor, ?i care ofer? un meniu cu urm?toarele func?iielete, Undelete, Mail a message, Replay mail, Forward mail, Quit, Read a message.
9. $write <utilizator> [<terminal>]
- transmite un mesaj pe terminalul unui utilizator ce este conectat în sistem;
mesajul se tasteaz? imediat dup? comand? ?i se termin? cu <Ctrl>+<Z>
10. $tty
- afi?eaz? numele terminalului (fi?ierul ata?at)
Exemplu:
/dev/pty/ttys3
11. $stty
-afi?eaz? caracteristicile terminalului la care se lucreaz? (viteza de transmisie (speed), paritatea (even/odd), caracteristici de control); pentru setarea caracteristicilor se utilizeaz? comanda $stty <optiuni> ;
12. $man [<comanda>]
- afi?eaz? pe ecran un help despre comenzi; pentru afi?area structurii manualelor UNIX ?i modul lor de consultare, se utilizeaz? comanda $man man
Comenzi pentru gestiunea directoarelor
1. $pwd
- afi?eaz? calea(path) directorului curent; numele comenzii reprezint? prescurtarea Path Write Directory;
Exemplu: /users/vlada
2. $cd [<director>]
- realizeaz? schimbarea directorului curent (change directory), noul director va fi cel specificat; pentru verificare se pot utiliza dou? comenzi pe aceea?i linie : $cd [<director>] ; pwd
- se utilizeaz? ?i urm?toarele variante ale comenzii:
$cd - directorul curent devine home aflat în /etc/passwd
$cd .. - directorul curent devine nodul superior(tat?
$cd / - directorul curent devine directorul radacina(root)
3. $mkdir <director>
- se creeaz? un nou director cu numele specificat, ca subdirector al directorului curent; sistemul va seta pentru directorul creat toate drepturile (R,W,X) la toate categoriile de utilizatori;
4. $rmdir <director>
- se ?terge directorul specificat numai dac? nu con?ine fi?iere
5. $ls [<optiuni>] [<specificator>] ?
- se listeaz? con?inutul directorului specificat(altfel, curent) sau informa?ii despre fi?ierele specificate în cazul în care se specific?;
- op?iunile permit precizarea informa?iilor ce vor fi afi?ate, eventual ordinea afi??rii; op?iunile sunt precedate de semnul "-" ?i pot fi combinate
- cele mai importante op?iuni sunt:
-l -afi?eaz? mai multe informa?ii despre director/fi?ier (drepturile proprietarului, drepturile grupului, proprietar, dimensiune,data, timpul, nume);
-r -afi?eaza numele fi?ierelor în ordinea invers alfabetic?;
-t -afi?eaz? numele sortate dup? data ultimei modificari;
-R -afi?eaz? rezumatul directorului specificat ?i al tuturor subdirectoerelor sale.
Exemple.
$ls -listeaz? numele subdirectoarelor directorului curent
$ls -lt -listeaz? con?inutul directorului curent, sortat dup? timp
$ls -l *.c -listeaz? informa?ii despre toate fi?ierele directorului curent
ce au sufixul .c
Comenzi pentru gestiunea fi?ierelor
1. $cat [<optiuni>] [<specificator>] [<redirectare>]
- afi?area/concatenarea/crearea de fi?iere text
Exemple.
$cat fisier1 -se afi?eaz? la terminal con?inutul fi?ierului 'fisier1'
$cat fisier1 fisier2 >f3 -se concateneaz? cele dou? fi?iere ?i rezultatul se memoreaz? în fi?ierul 'f3'
Observa?ie. Comanda este echivalent? cu $cat fisier[12] >f3
$cat >fisier -se creeaz? un fi?ier text de la terminal, prin tastarea de la terminal a liniilor, dup? care se tasteaz? <Ctrl>+<Z>, iar fi?ierul se va salva în 'fisier'
2. $pr [<optiuni>] <specificator> [<redirectare>
- listeaz? prin paginare (antet ?i linii) fi?iere text
Exemplu.
$pr f1 f2 >f3.pr -se pagineaz? cele dou? fi?iere, iar rezultatul se salveaz? in fisierul 'f3.pr'
3. $lpr [<optiuni>] <specificator>
- tip?rirea la imprimant? a con?inutului de fi?iere text
Exemple.
a) $lpr >fisier.pr -tip?re?te la imprimant? con?inutul fi?ierului 'fisier.pr'
b) $ls -l /bin/usr/bin >fisier -secventa de comenzi realizeaz?
$pr fisier >fisier.pr pe rând crearea fi?ierului 'fisier'
$lpr fisier.pr cu con?inutul mai multor directoare,
$rm fisier fisier.pr paginarea lui în 'fisier.pr', tip?rirea
acestuia la imprimant?, ?i în final
?tergerea celor dou? fi?iere create
4. $lp [<optiuni>] <specificator>
- tip?rirea la imprimant? prin paginare a con?inutului unor fi?iere
Observa?ie.Pentru utilizarea corect? a op?iunilor pentru fiecare comand?, utilizatorul este invitat s? consulte help-ul oferit de sistemul Unix prin comanda: $man <comanda>
5. $file <fisier> ?
- determin? tipul (surs?, obiect, executabil, text, etc.) unui fi?ier
6. $find <director> ? <conditie>
- se caut? în directoarele specificate ?i în toate subdirectoarele lor, pentru
a se localiza toate fi?ierele ce satisfac <conditie>
7. $rm [<optiuni>] <fisier> ?
- ?terge fi?ierele specificate din directorul curent
- principalele op?iuni sunt :
-i -consultarea utilizatorului înainte de ?tergere
-r -?tergerea subdirectoarelor
-f -?tergerea fi?ierelor protejate la scriere
Exemple.
$rm -i * -se ?terg toate fi?ierele din directorul curent prin confirmare
$rm -r prog -se ?terge tot subarborele legat de directorul prog
8. $cp <fisier> ? [<director>]
- realizeaz? copierea de fi?iere în urm?toarele variante:
a) $cp f1 f2 - copiaz? fi?ierul f1 în fi?ierul f2
b) $cp f1 [f2?] dir -copiaz? fi?ierele f1 f2 ? în directorul dir
Exemplu.
$cp chem/*.doc /esr/user1/john -copiaz? toate fi?ierele cu sufixul .doc
subdirectorul john
9. $mount <fisier_special> <director>
- montarea (legarea) unui sistem de fi?iere la un director;arborele general al sistemului de fi?iere este unic ?i are r?d?cina root(/); exist? fi?iere pe alte suporturi (FD, CD) ce trebuie introduse în sistem prin opera?ia de montare; fiecare suport (volum) con?ine un sistem propriu de fi?iere al c?rui director r?dacina se poate ata?a la orice director din sistemul general de fi?iere; opera?ia poate fi utilizat? doar de administratorul de sistem;
Exemplu.
$mount /dev/dk00 /usr/vlada
-leag? sistemul de fi?iere de pe discheta indicat? de driver-ul
dk00 ca subdirector al directorului vlada
10. $umount <fisier_special>
- opera?ia invers? mont?rii(leg?rii) unui sistem de fi?iere
11. $mv
- mutarea(redenumirea) de fi?iere în dou? variante:
a) $mv <fisier_sursa> <fisier_dest>
-fi?ierul <fisier_sursa> se redenume?te <fisier_dest>
b) $mv <fisier> ? <director>
-fi?ierele specificate sunt introduse în directorul specificat
12. $cmp [<optiuni>] <fisier1> <fisier2>
- se compara cele dou? fi?iere specificate ?inând seama de op?iunile:
-l -compar? ?i tip?re?te octe?ii diferi?i
-s -întoarce codul de retur (0=fi?iere identice,1=diferite, 2=erori)
13. $chmod <categ_util> <operator> <drept> <fisier> ?
- schimbarea drepturilor de acces la fi?iere ordinare sau director
- comanda poate fi utilizat? doar de proprietarul fi?ierelor
- <categ_util> reprezint? categorii de utilizatori, adic?
U=proprietar
G=grup
O=restul utilizatorilor
A=cele trei categorii
- <operator> reprezint? unul dintre caracterele
+ pentru ad?ugare
- pentru ?tergere
= pentru asignare
- <drept> reprezint? drepturile oferite de sistemul de operare
r =citire
w =scriere
x = execu?ie
Exemple.
$chmod a+r fisier1 - se d? drept de citire tuturor utilizatorilor fi?ierului fisier1
$chmod go -rw fisier -se ridic? privilegiile de citire ?i scriere pentru grup ?i proprietar
14. $chown <proprietar> <fisier>
- schimb? proprietarul unui fi?ier sau director
- numele proprietarului se g?se?te în fi?ierul /etc/passwd
15. $chgrp <grup> <fisier>
- schimb? grupul unui fi?ier sau director
- numele grupului se afl? în fi?ierul /etc/group
16. $diff <optiuni> <fisier1> <fisier2>
- compar? dou? fi?iere de tip ASCII folosind op?iunile:
-b ignor? spa?iile ?i <tab>
-e crearea comenzilor de editor (a=ad?ugare, c=înlocuire,d=?tergere)
17. $sort [<optiuni>] [+|- poz] ? [-o <f_sortat>] <fisier> ?
- sorteaz? fi?ierele specificate la un loc ?i rezutatul este dat în
fi?ierul f_sortat ?inând seama de op?iunile:
-b ignor? spa?iile ?i <tab>
-n sortare numeric?(implicit este alfabetic?
-r sortare descresc?toare
-f translanteaz? literele mari în litere mic
- <poz> este de forma m.n, unde m este deplasamentul în num?r de câmpuri (începând cu 1), iar n este num?rul de caractere fa?? de începutul câmpului(numerotat cu 0); semnul + va însemna începutul cheii de sortare, iar - sfâr?itul cheii;
18. $tsort <fisier>
- sorteaz? topologic fi?ierul specificat
19. $tail [<optiuni>] <fisier>
- afi?eaz? un fragment de la începutul sau de la sfâr?itul fi?ierului
specificat folosind op?iunile:
- +n / -n n linii/blocuri/caracter de la început/sfâr?it
-l afi?eaz? linii
-b afi?eaz? blocuri
-c afi?eaz? caractere
20. $wc [<optiuni>] <fisier>
- afi?eaz? num?rul liniilor, cuvintelor, caracterelor din fi?ierul specificat folosind op?iunile :
-l afi?eaz? num?r de linii
-w afi?eaz? num?r de cuvinte
-e afi?eaz? num?rul caracterelor
Comenzi pentru gestiunea proceselor
1. $ps [<optiuni>] [<proces> ?]
- afi?eaz? st?rile unor procese din sistem ?inând seama de op?iunile:
-a toate procesele active din sistem
-l informa?ii complete
-n toate procesele ce nu sunt asociate utilizatorului
- informa?iile referitoare la procese sunt:
- flag-urile(F) procesului (00=proces terminat,
01=proces sistem,
04=proces suspendat de p?rinte,
10=proces în memorie, dar blocat)
- starea procesului(S) (r =proces în coada de a?teptare,
s=proces suspendat,
t=proces terminat,
d=proces evacuat temporar pe disc,
o=proces aflat în execu?ie)
- identificatorul utilizatorului (uid)
- identificatorul procesului (pid)
- identificatorul procesului p?rinte (ppid)
- prioritatea procesului (pri)
- terminalul de unde a fost lansat (tty)
- timpul oferit de UC (time)
- prioritate modificata prin nice
- adresa din memorie la care se afl? (addr)
- lungimea procesului (size)
- momentul de start al procesului (stime)
2. $kill [<pid_proces>]
- terminarea unui proces în execu?ie ?inând seama de identificatorul procesului(pid)
3. $sleep <nr_secunde>
- suspend? temporar execu?ia unui proces
4. $time <comanda>
- furnizeaz? timpul de execu?ie ?i timpul UC la sfâr?itul termin?rii unei
comenzi lansate în execu?ie
5. $sh <fisier>
- lansarea în execu?ie a unui fi?ier de comenzi Shell
6. $at <timp> [<zi>] [+ <increment>] <fisier>
- lansarea în execu?ie la termen a unui program ?inând seama de
- <timp> ce reprezint? h:m (ora ?i minutul)
- <zi> ce reprezint? numele lunii urmat de num?rul zilei
- <increment> este unul din cuvintele: minutes, hours, days, weeks, months, precedat de un num?r
Exemplu.
$at 08:05 jan 24 +2 days prog
7. $nice [-n] <comanda> [<argumente>]
- lanseaz? un proces în paralel cu prioritate redus?, unde
-n este un num?r fixat care este adunat la ordinul de prioritate
implicit ?i rezult? prioritatea cu care se execut? <comanda>
Observa?ie.
Exist? un num?r de 20 de ordine de prioritate, numerotate da la 1 la 20.
Prioritatea maxim? este 1, iar cea minim? este 20. În general, dac? nu se
modific? explicit priorit??ile, un proces se execut? cu prioritatea 10 sau cu
o prioritate implicit? fixat? printr-un apel de sistem.
Exemplu.
$nice -8 sort <a >b &
Comenzi pentru gestiunea volumelor
1. $df [<fisier_sistem>]
- indic? spa?iul liber pe un anumit volum unde este montat un sistem de fi?iere; dac? fi?ierul sistem nu este specificat, se afi?eaz? spa?iul liber pentru toate sistemele de fi?iere montate
2. $du [<optiuni>] <fisier>
- afi?eaz? num?rul blocurilor alocate pe un volum(disc), unde <fisier> este numele unui volum montat sau numele unui director; op?iunile sunt:
-a genereaz? o lista ce con?ine numele fiec?rui fi?ier ?i
num?rul de blocuri alocate
-r scrie mesaje despre directoare ce nu pot fi citite,
fi?iere ce nu pot fi deschise, etc.
-s afi?eaz? numai num?rul de blocuri alocate
Exemplu.
$du -a /usr/user1/teme
_______________________________________ rest in peace...
|
|