Documente Academic
Documente Profesional
Documente Cultură
Alte comenzi:
man arata manualul
info afiseaza paginile info ale unei comenzi (date)
whatis comanda arata o explicaie scurta despre comanda data
apropos comanda afiseaza mai multe informaii, cu trimitere la paginile din manual, pentru comanda
sau comenzile similare cu ce a fost introdus
passwd schimba parola
echo $SHELL afiseaza consola/shellul folosit
pag 41 man 2?!!!!
id - arat grupul iniial al utilizatorului curent si eventual si celelalte grupuri de care aparine
uname a - Print system information
hostname - Print or set system name
su [optiuni] utilizator - permite rularea unui shell ca un utilizator diferit. Este folosit n general pentru
a obine permisiuni de acces root fr a schimba utilizatorul curent
-m/ -p environmentul utilizatorului curent este folosit in continuare
-c comanda specificata este executata
cut [optiuni] fisier - folosit pentru extragerea liniilor de text din fiiere
-b extragerea octetilor de pe linie
-c extragerea caracterelor
-f extragerea campurilor (implicit, campurile sunt separate de TAB)
-d delimitator folosit in separarea campurilor
ps [optiuni] - tiprete pe ecran toate procesele care ruleaz pe calculator. Comanda este nrudit cu
comanda top
top [optiuni] - permite monitorizarea proceselor care ruleaz ntr-un sistem UNIX. Implicit, procesele
sunt ordonate dup CPU usage, i numai procesele cele mai active sunt artate pe ecran;
-d specifica intervalul dintre actualizarile ecranului
-n numarul de iteratii
-p identificatorul procesului care va fi urmarit
kill [-s semnal] pid sau kill [-l] semnal - {unde semnal este valoarea numeric a semnalului, iar pid
este identificatorul procesului}- este folosit pentru a trimite un semnal unui proces, cel mai des de
terminare
-l listeaza toate semnalele care pot fi trimise
ln [opiuni] fiier link - {unde fiier este sursa iar link este legtrura} - creaza linkuri la fiiere
-s creeaza un link simbolic
-f daca linkul exista deja, mai intai este sters
sdiff -o fisier_destinatie [opiuni] fisier1 fisier2 gsete diferenele intre doua fisiere i imbina
interactiv cele doua fisiere
scp copiaza fisiere intre gazde ntr-o reea, n condiii de sigurana, folosind ssh
rcp [-px] file1 file2 SAU rcp [-px] [-r ] file ... directory analog scp, doar ca nu n condiii de
sigurana
rcp -r dac una dintre surse are subdirectoare, le copiaza i pe acelea; conditia e ca destinaia
s fie tot un director
rcp -p la copiere se vor pstra timpii de modificare i modurile fisierelor sursa (adic aplica
umask peste fisierele copiate)
ssh user1@remote_server {secure shell} permite accesul securizat la un sistem remote, precum ftp
sftp user1@remote_server permite ca i FTP copierea de fiiere de pe o main pe alta, diferena
fiind c n cazul SFTP tunelul prin care se desfoar comunicaia este criptat
sar colecteaza, intocmeste un raport sau salveaz informaii despre activitatea sistemului
Editorul vi cu ajutorul sau se pot crea i/sau modifica fisiere de configurare, fisiere de tip shellscript sau modifica fisiere de configurare a sistemului legate de reea, securitate, administrare, etc. Este
un editor bazat pe caracter, creeaza sau modifica fisiere text sau ascii. Editarea n vi se face prin
intermediul unei memorii tampon sau buffer, iar modificarile pot fi salvate sau nu. Se poate opera doar
asupra fisierelor text simple.
Exist trei moduri de lucru:
modul comanda modul initial de lucru; toate comenzile se introduc plecnd de aici;
dac se apada ESC n oricare din celelalte 2 moduri, se revine la acest mod
modul introducere pt introducerea de text. Folosim comenzile: i inserare; a
adaugare; o deschiderea unei linii noi
modul ultima linie pt salvarea documentului i pt ieirea din vi. Pt a accesa acest mod
trebuie data comanda :
vi [optiuni] [nume_fisier] - deschiderea editorului vi
vedit pornete vi cu modul show activat; modul show se mai poate activa prin introducerea comenzii
: set showmode
Comenzi de inserare de baza: (n modul inserare)
a adaugare text dup cursor
A adaugare text la sfritul liniei
i inserare text dup cursor
o introducere linie noua sub linia pe care e cursorul
Comenzi de baza pentru pozitionarea cursorului:
j sau sgeata jos; k sau sgeata sus; h sau sgeata stnga; l sau sgeata dreapta
<space> - deplasare la dreapta cu un caracter
w deplasare la dreapta un cuvant
b deplasare la stanga un cuvant
$ deplasare la sfritul liniei
0 sau ^ deplasare la nceputul liniei
<return> deplasare la nceputul liniei urmatoare
:w [nume_nou_fisier] salvare fisier [cu un nume nou]
:wq salveaz i iese
ZZ salveaz i iei (n mod comanda)
:q! - exit fr sa salveze
:wq! - salveaz modificarile dintr-un read-only i iese
:e! - renuna la toate modificarile fcute de la ultima salvare i ncepe din nou editarea
Comenzi pt stergerea textului: (se realizeaza din modul comanda)
x sterge caracterul din dreptul cursorului
dw sterge cuvntul de la dreapta cursorului
5dw sterge 5 cuvinte la dreapta
dd sterge ntreaga linie pe care e cursorul
2dd sterge 2 linii ncepnd cu cea curenta
3x sterge 3 caractere ncepnd cu cel din dreptul cursorului
Comenzi pt copy, paste, modificare i anulare:
SHELL-uri UNIX - este un program special utilizat ca o interfa ntre utilizator i inima sistemului
de operare UNIX, un program denumit kernel. Shell-ul este un program utilitar ce este pornit n
momentul conectrii utilizatorului la sistem, oferind posibilitatea utilizatorilor s interacioneze cu
kernelul prin interpretarea comenzilor introduse fie direct de la tastatur, fie prin intermediul unui fiier
de comenzi shell, numit fiier shell-script.
Fiierele shell-script permit, pe lng utilizarea mai multor comenzi ce se execut (de regul)
secvenial i faciliti de programare avansat, structuri de decizie, ciclare, testare de fiiere, .a. Pentru
a putea scrie shell-script-uri trebuie cunoscute nu numai structurile de programare existente
(condiionale, repetitive, etc.) dar i comenzile, utilitarele i modalitatea de funcionare a acestora n
sistemul de operare UNIX. Printre programele utilitare existente n UNIX se afl i grep, sed sau awk
ce reprezint instrumente deosebit de puternice pentru manipularea fiierelor i a rezultatelor
comenzilor.
chsh /bin/sh schimba shell-ul
PID (Process Identification) - fiecare proces are asociat un numr de identificare
n momentul execuiei unei comenzi, aceasta poate fi un alias, o funcie, o comand intern sau un
program executabil pe hard disc. Un alias reprezint o prescurtare a unei comenzi existente. Functiile
sunt grupari de comenzi organizate sub forma unor proceduri separate. Comenziile interne reprezint
rutine interne ale shell-ului, iar programele executabile sunt localizate pe hard disk.
Un proces reprezint o instan a unui program aflat n execuie i poate identificat prin PID. Shell-ul
aparine unui grup de procese identificat prin identificatorul PID. Doar un singur grup de procese are
controlul terminalului la un moment dat i se spune c ruleaz n foreground (la suprafa). Shell-ul
poate iniia i alte procese, lucru pe care l face prin intermediul unui apel ctre kernel, denumit apel de
sistem. Exist o serie de apeluri de sistem ce permit proceselor s fie create, s se execute i s se
termine.
ps [opiuni] listeaza procesele aflate n execuie
ps -ef \ aux listeaza toate procesele ce ruleaza pe un sistem
Cele mai importante apeluri de sistem sunt: fork, wait, exec i exit.
fork creeaza un proces
wait procesul printe intra n sleep, n timp ce procesul copil ruleaza n background
exec pune n executare un proces copil
exit ncheie un proces
umask permite modificarea mastii implicite a unui proces copil, adic drepturile de acces; se poate
folosi i pentru fisiere sau directoare; folosete valorile zecimale (vezi man 1 pag 130)
chmod cod fisier modifica drepturile de acces la fisiere/directoare
chown modifica proprietarul i grupul pentru fisiere i directoare
Scrierea unui shell-script
Se va utiliza un editor de texte, se vor scrie comenzile i constructiile shell i se va salva fiierul cu
extensia .sh. Prima linie din fisier indica tipul de shell utilizat:
#!/bin/sh
- sh pt shellul Bourne
Dup ce salvm fiierul, trebuie s i dm drepturi de execuie (vom folosi comanda chmod) i n acest
moment suntem gata s l rulm.
./<nume>.sh pune n execuie fiierul shell-script din directorul curent de lucru (./)
BOURNE SHELL
Operatorii suportati de sh sunt de 3 tipuri: aritmetici folosii doar pentru operatii cu numere ntregi;
de test folosii pentru operatii cu fisiere, variabile string i variabile intregi; logici.
test [ <conditie> ] - testeaz dac conditia introdusa e adevrata (returneaza 0) sau falsa (returneaza 1);
dac da eroare returneaza 2; conditia este pusa intre [] atuncic cnd e folosit ca parte a lui if
<conditie> are forma: [<operand1>][<operator>]<operand2>
echo $? - afiseaza rezultatul celei mai recente comenzi executate
Operatori pt fisiere:
-d <fisier> - e director?
-f <fisier> - e fisier obinuit?
-g <fisier> - are setat identificatorul GID?
-r <fisier> - poate fi citit?
-s <fisier> - e de lungime diferita de zero?
-w <fisier> - poate fi modificat?
-x <fisier> - e executabil?
Operatori pt stringuri:
<sir> - este sirul introdus nenul?
-n <sir> - are sirul lungimea diferita de zero?
-z <sir> - are sirul lungimea zero?
<sir1>=<sir2> - e identic sir1 cu sir2?
<sir1>!=<sir2> - e diferit sir1 de sir2?
var simplu string
$var variabila shell
Operatori pt tipul integer:
sintaxa:
[ int1 operator int2 ]
-eq testeaz egalitatea
-ge testeaz dac int1 e >= dect int2
-gt testeaz dac int1 > dect int2
Comanda null ( : )
Comanda null este reprezentat de caracterul special : i este o comand care nu face nimic i
returneaz un exit-status egal cu zero. Poate fi utilizata cu if atunci cand nu avem nimic de pus la then.
Intructiunea CASE
case <valoare> in
sablon_1) <comanda11>
<comanda12>
...
<comanda1n>;;
sablon_2) <comanda21>
<comanda22>
...
<comanda2n>;;
...
sablon_m) <comandam1>
<comandam2>
...
<comandamn>;;
esac
Instruciunea FOR
for <variabila> in <valoare_1> <valoare_2> <valoare_n>
do
<comenzi>
done
Instruciunea WHILE
while <comanda_adev>
do
<comenzi>
done
Instruciunea UNTIL
until <comanda_adev>
do
<comenzi>
done
Gruparea comenzilor shell: --- mai multe man1, pag 154
grupare secvenial: pwd;ls -l
grupare n paranteze: (pwd;ls -l)