Unelte utilizator

Unelte site


sectiunea_3

Diferențe

Aceasta arată diferențele dintre revziile selectate și versiunea curentă a paginii.

Link către această vizualizare comparativă

sectiunea_3 [2008/05/31 20:10] (curent)
Linia 1: Linia 1:
 +[[ghid_mandriva|Sectiunea 1]]\\
 +[[Sectiunea 2]]
 +=====Consola,​ cel mai bun prieten al tău!=====
  
 +Probabil vă întrebaţi:​ - Dacă am interfaţă grafică la ce îmi mai trebuie consola?​Iată un set de motive pentru care în unele situaţii aţi alege (sau aţi fi obligat) să folosiţi consola:
 +
 +- multe lucruri se pot face mai repede decât în mod grafic;
 +- puteţi face unele operaţii ce în mod grafic nu pot fi făcute;
 +- unele aplicaţii rulate din consolă (fie ele chiar şi aplicaţii grafice) pot fi mai bine customizate cu parametri decât opţiunile din meniuri;
 +- atât consola cât şi interfaţa grafică sunt doar nişte aplicaţii care oferă o metodă de comunicare între utilizator şi calculator. Diferenţa e (în afară de aparenţă - text/​grafic) că interfaţa grafică s-ar putea să nu funcţioneze,​ consola însă funcţionează tot timpul;
 +- prin consolă puteţi afla mai multe detalii despre sistemul dvs. decât cu interfaţa grafică;
 +- prin consolă aveţi acces mai profund la setările sistemului...
 +
 +Lista ar putea continua multe pagini dar scopul acestui capitol nu este să vă convingem cât de bună e consola ci mai degrabă să facem o introducere în tainele modului text. Nu vă vom da un dicţionar de comenzi ci vom prezenta doar câteva lucruri utile cu exemple cât mai multe. Astfel veţi afla informaţii despre:
 +
 +* accesarea modului text;
 +* ce înseamnă consolă;
 +* ce înseamnă shell;
 +* modul de folosire a shell-ului bash;
 +* sistemul de fişiere şi foldere (directoare);​
 +* folosirea unui file manager în mod text pentru operaţii cu fişiere şi foldere;
 +* cum să vizualizaţi conţinutul unui fişier;
 +* cum să faceţi căutări rapide în rezultatele returnate de o comandă;
 +* cum să verificaţi ce procese/​programe rulează pe sistem, cât consumă fiecare din resursele sistemului şi cum să le opriţi;
 +* cum să aflaţi mai multe despre sistemul vostru;
 +* unde se ascund fişierele de configurare ale diferitelor componente hard şi soft;
 +* cum să faceţi un program să ruleze la pornirea sistemului;
 +* cum accesaţi manualul inclus în Linux pentru toate aplicaţiile;​
 +* cum să rulaţi aplicaţii grafice cu parametri speciali (ex. mplayer);
 +* cum să vă accesaţi calculatorul de la distanţă având control deplin asupra lui;
 +* alte referinţe on-line.
 +
 +Toate punctele vor fi detaliate în continuare. Limbajul şi explicaţiile vor fi progresive, astfel încât dacă nu sunteţi familiarizaţi cu consola citiţi fiecare punct pe rând. Toate descrierile ce urmează presupun că rulaţi Mandriva Linux şi aveţi interfaţa grafică pornită.
 +
 +====a) Accesarea modului text====
 +
 +În orice sistem Linux aveţi la dispoziţie 6 (şase) console exclusiv în mod text şi un număr nelimitat de console în ferestre din cadrul interfeţei grafice, consola 7 este implicit dedicată interfeţei grafice.
 +
 +Accesarea celor 6 console exclusiv text le puteţi face astfel:
 +
 +* dacă vă aflaţi în interfaţă grafică, apăsaţi una din variantele: **ALT+CTRL+F1** sau **F2** până la **F6**. Odată ajunşi în mod text vi se va prezenta un "​**Login:​**",​ treceţi utilizatorul şi apăsaţi **ENTER**. Vi se cere parola, o introduceţi şi apăsaţi **ENTER**. **ATENŢIE:​** când introduceţi parola, pe ecran nu se afişează nici un text, nici steluţe;
 +
 +* dacă vă aflaţi deja în mod text, puteţi accesa celelalte console cu **ALT+F1...F6**;​
 +* revenirea în mod grafic se face cu combinaţia de taste **ALT+F7**.
 +
 +Există posibilitatea declarării a mai multe console, în principiu până la 12.
 +
 +====b) / c) Definire CONSOLĂ şi SHELL====
 +
 +Pentru a înţelege mai bine ce înseamnă fiecare vom recurge la un simplu grafic:
 +
 +**CONSOLĂ** şi **TERMINAL** sunt sinonime. În diferite documentaţii veţi putea găsi varianta prescurtată a termenului "​**terminal**"​ sub forma prescurtată "​**term**"​. **Consola** sau **terminalul** - în continuare ne vom referi la aceşti termeni folosind termenul **consolă** - are scopul de a oferi o interfaţă între sistem şi periferice cum ar fi tastatura, mouse, monitor, porturi ale computerului. Consola nu e responsabilă pentru driverele aferente, doar cu folosirea lor. **SHELL-ul** este responsabil pentru interfaţarea cu utilizatorul. Adică este responsabil de acceptarea unui set de comenzi specifice lui, rularea programelor în mod text şi prezentarea rezultatelor.
 +
 +Exemple de console: cea mai folosită consolă în zilele noastre se numeşte "//​xterm//"​ pentru modul exclusiv text, iar ca şi console sub interfaţa grafică menţionăm doar câteva dintr-o listă foarte lungă: //Konsole, Eterm, Yakuake, Aterm, Gterm// ... etc. Exemple de SHELL-uri: primul shell avea numele ... "//​shell//"​ prescurtat în "//​sh//",​ o rescriere a acestuia cu foarte multe îmbunătăţiri a dat naştere la ceea ce este azi cel mai folosit shell, numit "//​bash//",​ adică "//​Bourn Again Shell//"​. Alte shelluri: //csh//, //zsh// etc.
 +
 +În continuare în toate exemplele şi explicaţiile ce urmează vom folosi consola "//​xterm//"​ şi shellul "//​bash//"​. În cazuri excepţionale voi menţiona varianta folosită.
 +
 +====d) Modul de folosire a shellului BASH====
 +
 +Bash oferă utilizatorului pe lângă interfaţa cu sistemul şi bazele unui limbaj de programare interpretat (script) propriu. Implicit, utilizatorul primeşte un prompter de genul: ​
 +
 +  [tux@localhost ~]$
 +
 +În exemplu distingem următoarea sintaxă:
 +
 +  [<​UTILIZATOR>​@<​NUME_CALCULATOR>​ <​FOLDER_CURENT>​]$
 +
 +Semnul //tilda// (~) indică tot timpul folderul **home** al utilizatorului. În exemplul de mai sus, acesta va indica **/​home/​tux**. Dacă un utilizator este nesigur în ce folder se află sau din motive diferite vrea să afle întreaga cale a folderului curent, se poate folosi comanda "​pwd"​.
 +
 +  [tux@localhost ~]$ pwd
 +  /home/tux
 +
 +Evident fiecare comandă este urmată de tasta **Enter** pentru a fi activată. Rezultatul oricărei comenzi se afişează începând din rândul următor. Există posibilitatea rulării mai multor comenzi scrise într-o singură linie. Pentru acest lucru se folosesc operatorii de concatenare ale acestora în funcţie de operaţia dorită:
 +
 +*  //​**executarea a două sau mai multe comenzi independent una de alta şi pe rând:**//
 +  [tux@localhost ~]$ pwd; ls -l
 +
 +Exemplul execută comanda "​pwd",​ după care execută comanda "​ls"​ cu opţiunea "​-l"​ (descrierea comenzilor nu este relevantă în acest moment).
 +
 +Se observă că cele două comenzi sunt despărţite de semnul ";"​ (punct şi virgulă).
 +
 +*  //​**executarea a două sau mai multe comenzi în aşa fel încât următoarea comandă să se aplice asupra rezultatului comenzii precedente:​**//​
 +  [tux@localhost ~]$ cat ~/​.mplayer/​config | grep subcp
 +
 +Cele două comenzi în acest caz sunt "cat ~/​.mplayer/​config"​ şi "grep subcp",​ fiecare cu parametrii ei.
 +
 +Se observă că cele două comenzi sunt despărţite de semnul "​|"​ (bară verticală).
 +
 +*  //​**executarea celei de a doua comenzi asupra rezultatului comenzii precedente numai dacă prima s-a terminat cu succes (fără eroare):​**//​
 +Se foloseşte semnul "&&"​ pentru concatenare. Remarcaţi că se pune dublat.
 +
 +*  //​**executarea celei de a doua comenzi asupra rezultatului comenzii precedente dacă acesta returnează o eroare (stare de ieşire diferită de zero):**//
 +Se foloseşte semnul "​||",​ adică două bare verticale. Un exemplu util pentru acest operator ar fi o comandă combinată care să creeze un folder numai în cazul în care acesta nu există:
 +
 +  [tux@localhost ~]$ cd tmp/a/b/c || mkdir -p tmp/a/b/c
 +
 +În ceea ce priveşte posibilităţile de scripting ale **BASH** vom menţiona doar că acesta prezintă toate elementele clasice ale unui limbaj de programare: if, when, do, until, switch, for, etc. Mai multe detalii despre folosirea BASH puteţi afla prin comanda: ​
 +
 +  [tux@localhost ~]$ man bash
 +
 +În mod asemănător puteţi afla informaţii suplimentare despre comenzi folosind comanda "​man"​ urmat de numele comenzii sau programului. Dacă nu găsiţi informaţii pentru comanda/​programul respectiv, un alt sistem de informaţii vă stă la dispoziţie,​ numit "​info"​. Încercaţi să rulaţi comanda "info date" pentru a afla tot ce ştie să facă respectiva comandă "​date"​.
 +
 +====e) Sistemul de fişiere şi foldere (directoare)====
 +
 +Sistemul de operare Linux se bazează pe ideea că "totul este un fişier"​. Este foarte important ca un utilizator Linux să înţeleagă sistemul de fişiere, pentru că astfel va înţelege mai bine sistemul. Tratând totul ca fişier se uşurează munca în foarte multe situaţii şi se asigură o securitate ridicată sistemului.
 +
 +Ce este de fapt acest "​tot"?​ Cuprinde folderele, perifericele,​ porturile, comunicările,​ partiţiile de harddisk şi toate componentele calculatorului,​ configuraţiile programelor,​ etc. Astfel, de exemplu mouse-ul este văzut de sistem ca un fişier (/​dev/​mouse). Acel fişier este periodic citit de sistem pentru a urmări comenzile de la mouse.
 +
 +Sistemul de fişiere şi foldere este ordonat ierarhic, sub forma unui arbore. Rădăcina sistemului este "/"​ (marcat cu semnul împărţirii) - numit în engleză "​**root**"​ (a nu se confunda cu utilizatorul root - adică administrator al sistemului). Toate folderele, subfolderele,​ fişierele etc. se află într-o ramură logică pornită de la rădăcină. Ramificaţiile sunt împărţite de asemenea de semnul "/"​. Astfel, linia:
 +
 +  /​home/​tux/​fisier
 +
 +se poate interpreta astfel (din stânga spre dreapta):
 +
 +  */ - rădăcina;
 +  *home - un folder;
 +  */ - despărţitor foldere;
 +  *tux - subfolder;
 +  */ - despărţitor foldere;
 +  *fisier - numele fişierului.
 +
 +Fişierele (şi aici mă refer şi la foldere) au un set de atribute împărţite pe 3 categorii in funcţie de "​proprietarul"​ fişierului. Atributele de bază se referă la drepturile de //citire, scriere //şi //executare //ale unui fişier, separat pentru cele trei nivele de proprietate:​ //owner (proprietar),​ group (grup) //şi //other (alţii). //Un fişier cu atributul "​d"​ este un folder (adică **d**irector).
 +
 +Datorită acestui sistem, fişierele nu au extensii în Linux. În Windows, se ştie că un fişier care se termină cu .exe este executabil. În Linux orice fişier setat cu drept de execuţie este tratat ca executabil. "​Extensiile"​ .xyz găsite în fişiere pe Linux practic fac parte din numele fişierului şi au scop pur orientativ. De exemplu, un fişier ce se termină cu .odt este un  document OpenOffice. În continuare sistemul poate lua unele decizii în funcţie de acesta, cum ar fi pornirea OpenOffice care să deschidă fişierul .odt indicat de utilizator.
 +
 +Propun în continuare un mic exerciţiu pentru a vă familiariza cu comenzile de bază aferente lucrului cu fişiere.
 +
 +* schimbăm folderul curent într-unul temporar:
 +  [tux@localhost ~]$ cd tmp/
 +
 +* creăm un folder numit "​exemplu":​
 +  [tux@localhost tmp]$ mkdir exemplu
 +
 +* schimbăm folderul curent în cel nou creat (comanda cd - change directory):
 +  [tux@localhost tmp]$ cd exemplu
 +
 +* observăm structura, cum se schimbă datele informative din  interiorul parantezelor drepte. Comanda pwd ne arată toată calea, pe când în parantezele drepte se vede doar directorul curent:
 +  [tux@localhost exemplu]$ pwd
 +
 +  /​home/​tux/​tmp/​exemplu
 +
 +* cu ajutorul comenzii "​echo"​ creăm un fişier nou numit "​fişier_text",​ cu conţinutul "​exemplu_text":​
 +  [tux@localhost exemplu]$ echo "​exemplu_text"​ > fisier_text
 +
 +* mutăm directorul curent cu un director mai sus, acest lucru se semnalează prin "​..":​
 +  [tux@localhost exemplu]$ cd ../
 +
 +* creăm folderul "​exemplu2":​
 +  [tux@localhost tmp]$ mkdir exemplu2
 +
 +* dacă o comandă este scrisă incomplet şi se apasă tasta TAB, se afişează toate posibilităţile,​ ca mai jos, în urma lui "cd exe" s-a apăsat TAB, sistemul a afişat posibilităţile "​exemplu/ ​ exemplu2/",​ acestea două fiind singurele foldere care încep cu "​exe"​ şi se afla în folderul curent "​tmp":​
 +  [tux@localhost tmp]$ cd exe
 +
 +  exemplu/ ​ exemplu2/
 +
 +* s-a schimbat folderul curent în "​exemplu2":​
 +  [tux@localhost tmp]$ cd exemplu2
 +
 +* se copiază fişierul creat din folderul "​exemplu"​ în "​exemplu2"​. Metoda de folosire a căii a fost următoarea:​ "​../​exemplu/​fisier_text",​ adică fişierul "​fişier_text"​ din subfolderul "​exemplu"​ situat cu un folder deasupra "​.."​. Destinaţia a fost exprimată ca şi folderul curent "​./"​
 +  [tux@localhost exemplu2]$ cp ../​exemplu/​fisier_text ./
 +
 +* listăm conţinutul folderului curent, în care se observă fişierul proaspăt copiat . 
 +  [tux@localhost exemplu2]$ ls -al
 +
 +  total 12
 +  drwxr-xr-x ​ 2 tux tux 4096 2008-02-26 16:59 ./
 +  drwx------ 10 tux tux 4096 2008-02-26 16:59 ../
 +  -rw-r--r-- ​ 1 tux tux   13 2008-02-26 16:59 fisier_text
 +
 +Interpretarea rezultatului listării conţinutului folderului (comanda de mai sus):
 +
 +*total 12 - adică 12 rezultate găsite
 +*drwxr-xr-x ​ 2 tux tux 4096 2008-02-26 16:59 ./ - adică ​
 +*d - director;
 +*rwx - citire/​scriere/​executare pentru proprietar;
 +*r-x - citire/​executare pentru grup;
 +*r-x - citire/​executare pentru alţii;
 +-2 - numărul elementelor (folderul în sine + fişierul nostru);
 +*tux - proprietar;
 +*tux- grup;
 +-4096 - mărime folder. Valoare implicită pentru foldere.
 +-2008-02-26 16:59 - data şi ora creării;
 +*./ - numele, adică folderul curent.
 +*drwx------ 10 tux tux 4096 2008-02-26 16:59 ../
 +*d - director;
 +*rwx - citire/​scriere/​executare pentru proprietar;
 +*--- - nici un drept pentru grup;
 +*--- - nici un drept pentru alţii;
 +-10 - numărul elementelor;​
 +*tux- proprietar;
 +*tux - grup;
 +-4096 - mărime folder. Valoare implicită pentru foldere.
 +-2008-02-26 16:59 - data şi ora creării;
 +*../ - numele, adică folderul de deasupra.
 +*-rw-r--r-- ​ 1 tux tux   13 2008-02-26 16:59 fisier_text
 +*- - adică NU este director;
 +*rw- - citire/​scriere pentru proprietar;
 +*r-- - citire pentru grup;
 +*r-- - citire pentru alţii;
 +-1 - numărul elementelor (un singur fişier);
 +*tux- proprietar;
 +*tux- grup;
 +-13 - mărime fişier, exprimat în bytes;
 +-2008-02-26 16:59 - data şi ora creării;
 +*fisier_text - numele fişierului.
 +
 +**Mai menţionez câteva comenzi utile:**
 +
 +*rm - pentru ştergere fişier.
 +*mv - pentru mutare sau redenumire fişier.
 +*rename - tot pentru redenumire.
 +*rmdir - pentru ştergere folder.
 +
 +Puteţi afla parametrii aferenţi fiecărei comenzi prin "​comanda -help"​. Mai multe detalii se pot afla cu "man comanda"​ respectiv "info comanda",​ unde "​comanda"​ se înlocuieşte cu comanda dorită.
 +
 +====f) Folosirea unui file manager în mod text====
 +
 +Cel mai folosit file manager în mod text se numeşte "​Midnight Commander"​.
 +
 +**imaginea necesara**
 +
 +Din prima se poate observa că seamănă foarte mult cu vestitul "​Norton Commander",​ însă, faţă de acesta din urmă, Midnight Commander (în continuare referit cu denumirea scurtă - "​mc"​) este mult mai avansat şi specific Linuxului. Pentru a porni programul, tastaţi comanda mc:
 +
 +  [tux@localhost ~]$ mc
 +
 +Toate shortcut-urile cu care v-aţi obişnuit în Norton Commander, Windows Commander sau Total Commander sunt valabile:
 +
 +  *F5 - copiere fişier;
 +  *F6 - mutare fişier;
 +  *F8 - ştergere fişier;
 +  *F9 - accesare meniu;
 +  *F10 - ieşire din program;
 +  *F3 - vizualizare fişier;
 +  *F4 - editare fişier;
 +  *Shift+F4 - editare fişier nou;
 +  ** - selectează/​deselectează tot;
 +  *Insert - selectează fişier curent;
 +  *etc.
 +
 +
 +**mc** ştie să trateze fişiere cu denumire lungă, în cazul în care aceasta (denumirea) nu încape pe ecran, este trunchiată. Scurtarea numelui se semnalizează cu semnul tilda.
 +
 +====g) Cum să vizualizaţi conţinutul unui fişier====
 +
 +Vom proceda prin exemplificarea problemei.
 +
 +*creăm un fişier text numit wineman, de exemplu din manualul pentru programul wine:
 +  [tux@localhost ~]$ man wine >> ./wineman
 +
 +*afişăm întregul rezultat al lui:
 +  [tux@localhost ~]$ cat ./wineman
 +
 +  WINE(1) ​                        ​Windows On Unix                        WINE(1)
 +
 +  NAME
 +
 +       wine - run Windows programs on Unix
 +
 +
 +
 +  SYNOPSIS
 +
 +       wine program [arguments ... ]
 +
 +       wine --help
 +
 +       wine -version
 +
 +  [ ... ]
 +
 +
 +
 +  SEE ALSO
 +
 +       ​wineserver(1),​ winedbg(1)
 +  Wine 0.9.55 ​                     October 2005                          WINE(1)
 +
 +Textul a fost scurtat pentru că e foarte lung.
 +
 + ​*Pentru text foarte lung, poate ne interesează doar ultimele câteva linii. Atunci folosim comanda "​tail":​
 +  [tux@localhost ~]$ tail ./wineman
 +
 +comanda va afişa ultimele câteva linii. Pentru a specifica numărul de linii ce dorim să afişăm folosim parametrul "​-n"​ astfel:
 +
 +  [tux@localhost ~]$ tail -n 30 ./wineman
 +
 +va afişa ultimele 30 linii din fişierul wineman.
 +
 +====h) Cum să faceţi căutări rapide în rezultatele returnate de o comandă====
 +
 +Pentru acest lucru ne vom folosi de o comandă care să returneze ceva informaţii,​ de posibilitatea concatenării comenzilor şi de comanda "​grep"​. Comanda ce ne va returna rezultate multe va fi "ps aux", o comandă ce generează lista tuturor programelor / proceselor pornite în sistem şi o afişează pe ecran. Cum lista este lungă şi de cele mai multe ori ne interesează doar un program anume, vom căuta în lista respectivă astfel ca să fie afişat doar ce ne interesează.
 +
 +Rulăm comanda astfel, şi vedem rezultatele:​
 +
 +  [root@localhost tux]# ps aux
 +  USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 +  [kjournald]
 +  root      1050  0.0  0.1   ​2636 ​ 1544 ?        S<​s ​ 09:16   0:00 /sbin/udevd -d
 +  root      1901  0.0  0.0      0     0 ?        S<   ​09:​16 ​  0:00 [ksuspend_usbd]
 +  root      1912  0.0  0.0      0     0 ?        S<   ​09:​16 ​  0:00 [khubd]
 +  root      2291  0.0  0.0      0     0 ?        S<   ​09:​16 ​  0:00 [kondemand/​1]
 +  root      2488  0.0  0.0      0     0 ?        S<   ​09:​16 ​  0:00 [kjournald]
 +  daemon ​   2964  0.0  0.0   ​1684 ​  332 ?        Ss   ​09:​16 ​  0:00 /​usr/​sbin/​atd
 +  root      3268  0.0  0.0   ​2724 ​  804 ?        Ss   ​09:​16 ​  0:00 crond -p
 +  root      4876  0.0  0.0   ​4484 ​  780 ?        S    09:16   0:00 ntpd -u ntp:ntp -p /​var/​run/​ntpd.pid -g
 +  tux     ​6206 ​ 0.0  0.0      0     0 ?        Z    09:19   0:00 [consolehelper-g] <​defunct>​
 +  root      6393  0.0  0.0   ​1668 ​  464 ?        Ss   ​09:​19 ​  0:00 /​sbin/​ifplugd -b -i eth0
 +  **tux     ​6573 ​ 1.3 12.2 304920 125204 ?       ​Sl ​  ​09:​19 ​  1:48 /​usr/​lib/​opera/​9.50-20071024.6/​opera -style ia_ora**
 +  **tux     ​6967 ​ 0.0  0.0   ​2780 ​  692 ?        S    09:26   0:00 /​usr/​lib/​opera/​9.50-20071024.6/​operaplugincleaner 6573**
 +  tux    11767  0.1  2.4  44540 25112 ?        S    11:07   0:01 konqueror /home/tux
 +  tux    12011  0.0  0.5  30488  5240 ?        S    11:12   0:00 kio_file [kdeinit] file /​home/​csabi/​tmp/​ksocket-csabi/​klau
 +  tux    12104  0.0  1.0  32832 10768 ?        S    11:14   0:00 kio_uiserver [kdeinit]
 +  tux    12208  0.0  0.1   ​3596 ​ 1224 ?        S    11:16   0:00 /bin/sh /​usr/​lib/​ooo-2.2/​program/​soffice -writer /​home/​tux/​Personal/​consol
 +  tux    12223  1.0  7.7 208036 79220 ?        Sl   ​11:​16 ​  0:07 /​usr/​lib/​ooo-2.2/​program/​soffice.bin -writer /​home/​tux/​Personal/​consola_al
 +  tux    12236  0.0  1.7  39772 17596 ?        S    11:16   0:00 kwrite [kdeinit] /​home/​tux/​Personal/​consola_cuprins
 +  root     ​12782 ​ 0.0  0.0   ​2580 ​  852 pts/3    R+   ​11:​27 ​  0:00 ps aux
 +
 +**Notă: Rezultatul a fost scurtat pentru că altfel se întindea pe 4-5 pagini. Rezultatul pe care o să-l obţineţi va fi, evident, oarecum diferit datorită faptului că veţi rula programe diferite.**
 +
 +Remarcaţi liniile îngroşate. Asta este ce ne interesează. De fapt, acele 4 linii sunt doar 2 linii, doar că nu încap în lungime. Ce au în comun cele două linii şi ne poate interesa? Au programul "​opera"​ (un webbrowser ce tocmai e pornit). Dacă ne interesează doar acest lucru, folosim comanda "​grep"​. Aceasta are următoarea sintaxă:
 +
 +  grep text_de_cautat
 +
 +Sintaxa menţionată va căuta în aşa numitul "​stdout"​ (Standar Output - Ieşire Implicită) care în cele mai multe cazuri este ecranul.
 +
 +  [root@localhost tux]# ps aux | grep opera
 +  tux     ​6573 ​ 1.3 12.2 304920 125204 ?       ​Sl ​  ​09:​19 ​  1:48 /​usr/​lib/​opera/​9.50-20071024.6/​opera -style ia_ora
 +  tux     ​6967 ​ 0.0  0.0   ​2780 ​  692 ?        S    09:26   0:00 /​usr/​lib/​opera/​9.50-20071024.6/​operaplugincleaner 6573
 +  root     ​13143 ​ 0.0  0.0   ​3068 ​  736 pts/3    R+   ​11:​35 ​  0:00 grep --color opera
 +
 +Evident în listă s-a strecurat pe ultima linie chiar comanda rulată de noi, care conţine de asemenea cuvântul opera.
 +
 +Alternativ, grep ştie să caute direct în fişiere. Şi în acest caz, returnează linia/​liniile ce conţin textul căutat. În acest context, sintaxa se modifica astfel:
 +
 +  grep text_de_cautat nume_fisier
 +
 +====i) Cum să verificaţi ce procese/​programe rulează pe sistem, cât consumă din resursele sistemului şi cum să le opriţi====
 +
 +Lista tuturor proceselor / programelor pornite poate fi consultată cu comanda "​ps",​ iar parametrii cei mai folosiţi sunt "​aux"​ comanda modificându-se astfel, iar rezultatul cum se vede în exemplul următor:
 +
 +  [root@localhost tux]# ps aux
 +  USER    PID %CPU %MEM  VSZ RSS TTY STAT START TIME COMMAND
 +  root      1  0.0  0.0 1652 560 ?   ​Ss ​  09:15 0:01 init [5]
 +  root      2  0.0  0.0    0   0 ?   ​S< ​  09:15 0:00 [kthreadd]
 +  root      3  0.0  0.0    0   0 ?   ​S< ​  09:15 0:00 [migration/​0]
 +  root      4  0.0  0.0    0   0 ?   ​S< ​  09:15 0:01 [ksoftirqd/​0]
 +  root      5  0.0  0.0    0   0 ?   ​S< ​  09:15 0:00 [migration/​1]
 +  root      6  0.0  0.0    0   0 ?   ​S< ​  09:15 0:00 [ksoftirqd/​1]
 +  root      7  0.0  0.0    0   0 ?   ​S< ​  09:15 0:00 [events/0]
 +  [...]
 +
 +
 +Lista a fost scurtată pentru că pe un sistem rulează zeci sau sute de procese simultan.
 +
 +Ce ne interesează cel mai mult din rezultate:
 +
 +  *USER - utilizatorul care a pornit procesul. Numai acest utilizator sau root poate opri procesul respectiv.
 +  *PID - identificatorul procesului, un număr unic asignat fiecărui proces. Prin acest număr poate fi identificat orice proces. De exemplu acelaşi utilizator porneşte acelaşi program de 2 ori în acelaşi moment. Nu ar exista nici o deosebire intre ele, dacă nu ar avea un identificator unic.
 +  *COMMAND - comanda / programul efectiv rulat.
 +
 +Dacă dorim sa vedem topul proceselor în funcţie de utilizare procesor, ne folosim de progrămelul "​top":​
 +
 +  [root@localhost tux]# top
 +  top - 10:52:57 up  1:37,  1 user,  load average: 0.10, 0.22, 0.18
 +  Tasks: 159 total, ​  1 running, 158 sleeping, ​  0 stopped, ​  0 zombie
 +  Cpu(s): 15.3%us, ​ 2.0%sy, ​ 7.1%ni, 70.4%id, ​ 5.0%wa, ​ 0.2%hi, ​ 0.0%si, ​ 0.0%st
 +  Mem:   ​1026100k total, ​ 1012036k used,    14064k free,    25680k buffers
 +  Swap:  1020116k total, ​       0k used,  1020116k free,   ​423000k cached
 +  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 +  7273 tux     ​39 ​ 19 94532  44m  10m S   ​21 ​ 4.5   ​3:​16.55 operapluginwrap
 +  10338 tux     ​20 ​  ​0 ​ 276m  80m  57m S   ​19 ​ 8.1   ​0:​10.48 soffice.bin
 +  5115 root      20   ​0 ​ 455m 107m 6464 S    7 10.7   ​4:​13.41 X
 +  6271 tux     ​20 ​  0 92456  11m 4076 S    1  1.1   ​0:​38.95 compiz
 +  6290 tux     ​20 ​  0 44632 6732 4936 S    1  0.7   ​0:​31.29 artsd
 +  6310 tux     ​20 ​  0 68752  28m  15m S    1  2.9   ​0:​33.13 superkaramba
 +  6547 tux     ​20 ​  ​0 ​ 213m 126m  17m S    1 12.6   ​1:​21.69 opera
 +  5207 mysql     ​20 ​  ​0 ​ 108m  14m 3580 S    0  1.5   ​0:​01.80 mysqld
 +  6272 tux     ​20 ​  0 18760 9300 5908 S    0  0.9   ​0:​05.29 emerald
 +  6274 tux     ​20 ​  0 40376  16m  12m S    0  1.6   ​0:​04.09 kdesktop
 +  6277 tux     ​20 ​  0 39660  17m  13m S    0  1.7   ​0:​06.92 kicker
 +  6479 root      20   0 32876  13m  10m S    0  1.3   ​0:​01.70 yakuake
 +  11195 root      20   ​0 ​ 2328 1012  764 R    0  0.1   ​0:​00.03 top
 +
 +
 +
 +"​top"​ afişează doar atâtea procese câte încap în ecran. Cel mai consumator proces de resurse va fi pe primul loc din listă. După cum se poate observa, lista seamănă cu cea generată de "​ps"​. Primele 3-4 linii prezintă un sumar referitor la resursele sistemului.
 +
 +Dacă un proces trebuie oprit şi nu există altă metodă decât linia de comandă pentru acest lucru (ex. se blochează o aplicaţie şi nu mai reacţionează la click-uri cu mouse-ul), se poate folosi comanda "​kill"​ care are mai multe nivele de a forţa oprirea aplicaţiei. Astfel:
 +
 +  kill 11195
 +
 +va omorî procesul aferent programului top din exemplul de mai sus. Evident rulat ca root.
 +
 +  kill -9 11195
 +
 +va face acelaşi lucru în cazul nostru. Opţiunea "​-9"​ înseamnă cel mai mare nivel de forţare a opririi unui proces.
 +
 +Să înţelegeţi mai bine... "​kill"​ trimite o cerere către aplicaţie ca aceasta să se oprească şi aşteaptă cu răbdare răspunsul ei. "kill -9" trimite un ordin către aplicaţie să se oprească şi nu-l interesează ce părere are aplicaţia despre acest lucru.
 +
 +====j) Cum să aflaţi mai multe despre sistemul vostru====
 +
 +Un mic sumar despre Linuxul instalat, numele computerului,​ versiunea de kernel şi procesor se poate afla astfel:
 +
 +  [root@localhost tux]# uname -a
 +
 +  Linux localhost 2.6.22.18-laptop-1mdv #1 SMP Mon Feb 11 15:20:57 EST 2008 i686 Genuine Intel(R) CPU           ​T2060 ​ @ 1.60GHz GNU/Linux
 +
 +Un program interesant şi performant pentru informaţii hardware se numeşte "​hwinfo"​. De obicei nu se instalează pe sistem automat, aşa că îl puteţi pune cu comanda:
 +
 +  [root@localhost tux]# urpmi hwinfo ​  
 +
 +După instalare, pentru o listă completă, foarte lungă (peste 1000 de linii), rulaţi pur şi simplu "​hwinfo"​ astfel:
 +
 +  [root@localhost tux]# hwinfo ​  
 +
 +Partea frumoasă a programului este că poate să vă returneze doar informaţiile ce vă interesează cu ajutorul unui set de parametri. De exemplu pentru informaţii despre sunet rulaţi "​hwinfo --sound"​ şi veţi afla tot ce ştie sistemul despre plăcile de sunet:
 +
 +  [root@localhost tux]# hwinfo --sound
 +  11: PCI 1b.0: 0403 Audio device
 +  [Created at pci.300]
 +  UDI: /​org/​freedesktop/​Hal/​devices/​pci_8086_27d8
 +  Unique ID: u1Nb.Xr0+ey1p7G5
 +  SysFS ID: /​devices/​pci0000:​00/​0000:​00:​1b.0
 +  SysFS BusID: 0000:​00:​1b.0
 +  Hardware Class: sound
 +  Model: "​Hewlett-Packard Company 82801G (ICH7 Family) High Definition Audio Controller"​
 +  Vendor: pci 0x8086 "Intel Corporation"​
 +  Device: pci 0x27d8 "​82801G (ICH7 Family) High Definition Audio Controller"​
 +  SubVendor: pci 0x103c "​Hewlett-Packard Company"​
 +  SubDevice: pci 0x30bb
 +  Revision: 0x02
 +  Driver: "HDA Intel"
 +  Driver Modules: "​snd_hda_intel"​
 +  Memory Range: 0xd8240000-0xd8243fff (rw,​non-prefetchable)
 +  IRQ: 22 (348502 events)
 +  Module Alias: "​pci:​v00008086d000027D8sv0000103Csd000030BBbc04sc03i00"​
 +  Driver Info #0:
 +    Driver Status: snd_hda_intel is active
 +    Driver Activation Cmd: "​modprobe snd_hda_intel"​
 +  Config Status: cfg=new, avail=yes, need=no, active=unknown
 +
 +====k) Unde se ascund fişierele de configurare ale diferitelor componente hard şi soft====
 +
 +Deoarece fiecare program are configuraţiile într-un mod specific, în acest capitol vom recurge la generalităţi şi la câteva exemple semnificative.
 +
 +Setările la nivel de sistem ale aplicaţiilor se află în general în folderul /etc. Trebuie ştiut că orice configuraţie a unui program nu este altceva decât un fişier text prin care se setează parametrii specifici doriţi. Parametrii specifici setărilor utilizatorului sunt în folderul utilizatorului,​ respectiv în subfoldere ale acestuia.
 +
 +În momentul în care rulaţi un program acesta citeşte configuraţiile în ordinea:
 +
 +  -configuraţiile la nivel de sistem;
 +  -configuraţiile la nivel de utilizator - dacă aceleaşi opţiuni apar în amândouă, cele de utilizator anulează cele de sistem;
 +  -configuraţiile la nivel de parametri ataşaţi comenzii - care, dacă e cazul, anulează toate setările parametrilor specificaţi prin fişiere de configurare.
 +
 +De asemenea, setări adiţionale ale unor aplicaţii pot fi găsite în subfoldere din  "/​usr"​.
 +Câteva exemple:
 +
 +  *Setări pentru reţea - /​etc/​sysconfig/​network-scripts/​ , /​etc/​sysconfig/​neworking/​
 +  *Setări pentru DNS-uri - /​etc/​resolv.conf
 +  *Setări pentru interfaţa grafică - /​etc/​X11/​xorg.conf
 +  *Setări pentru numele calculatorului - /etc/hosts
 +  *ş.a.m.d.
 +
 +
 +====l) Cum să faceţi un program să ruleze la pornirea sistemului====
 +
 +Există mai multe metode. Pentru a putea alege cea mai potrivită metodă în cazul dvs, iată principiul:
 +
 +Un sistem Linux trece prin mai multe nivele de funcţionare. Ultimul nivel este interfaţa grafică. La fiecare nivel (numit în engleză "​**runlevel**"​ sunt disponibile anumite servicii şi se rulează anumite aplicaţii). În folderul **/etc** găsiţi un subfolder numit "​**rc.d**"​. Aici se află tot secretul. În continuare ne vom referi doar la aspectele care ne interesează ca utilizator obişnuit, mai precis:
 +
 +  -/​etc/​rc.d/​init.d/​ (sau pe majoritatea sistemelor există un link direct din /etc - /​etc/​init.d/​). Aici se află scripturile ce pornesc diferite aplicaţii. Fiecare fişier executabil din acest folder primeşte cel puţin 3 parametri:
 +  *//start// - pentru a porni un proces oprit;
 +  *//stop //- pentru a opri un proces pornit;
 +  *//​restart//​ - pentru a reporni un proces pornit - dacă procesul nu este pornit se va afişa eroare la oprire şi succes la pornire.
 +Opţional, majoritatea au şi parametrul:
 +
 +  *//stat// - pentru a afişa informaţii despre starea procesului.
 +  -/​etc/​rc.d/​rc.local - este un fişier în care se trec comenzile ce se doresc a fi rulate după ce toate celelalte procese au fost pornite.
 +
 +Pentru rularea programelor automat de către utilizator la logarea în interfaţa grafică se folosesc folderele specifice interfeţelor grafice. De exemplu, pentru KDE, acest folder este ~/​.kde/​Autostart/​
 +
 +Orice fişier executabil pus în acest folder va fi rulat în cadrul interfeţei KDE imediat după ce utilizatorul respectiv s-a autentificat cu succes. KDE va rula aceste programe ca şi cum utilizatorul ar da dublu-click pe ele. Este bine de ştiut că se pot întâmpla unele situaţii neaşteptate. De exemplu, un mic script (adică un fişier text) poate fi interpretat în două feluri: ori rulat direct, fiind executabil, ori deschis ca fişier text într-un editor de text. Pentru eficienţă maximă, recomand să puneţi în Autostart link către fişierul ce se doreşte a fi rulat.
 +
 +====m) Cum accesaţi manualul inclus în Linux pentru toate aplicaţiile====
 +
 +Foarte pe scurt, pentru că s-a mai discutat în capitolele anterioare:
 +
 +  *comanda "​**man**"​ urmat de numele programului;​
 +  *comanda "​**info**"​ urmat de numele programului;​
 +  *fişierele de documentaţii găsite sub diferite formate (**text, html, help**) şi în mai multe limbi le găsiţi aici: **/​usr/​share/​doc/​**
 +
 +====n) Cum să rulaţi aplicaţii grafice cu parametri speciali====
 +
 +Doar un exemplu - acest punct se leagă de punctul **k)/3**.
 +
 +Cele mai multe aplicaţii grafice sunt doar interfeţe pentru programe executate în linie de comandă. Aceste aplicaţii oferă posibilitatea setării unor parametri într-un mod mai comod şi mai prietenos decât să fie scrise cu mâna şi memorate pe de rost de utilizator. Alte aplicaţii grafice sunt în totalitate de sine stătătoare,​ însă pot fi pornite de la linia de comandă cu parametri specifici.
 +
 +Ca exemplu vom trata programul de vizualizat filme "​mplayer"​. Cazul este si o mică excepţie de la ce am spus mai sus. Programatorii au realizat două executabile:​
 +
 +  *mplayer - variantă **numai** la linie de comandă, fără interfaţă grafică;
 +  *gmplayer - variantă ce conţine atât mplayer cât şi o interfaţă grafică, compilate într-un singur executabil.
 +
 +De ce două versiuni? Pentru că mplayer se doreşte a fi un player care să funcţioneze pe orice sistem. Astfel, pe un hardware învechit sau mai slab, "​mplayer"​ va da rezultate mai bune pentru că nu mai încarcă şi interfaţa grafică. Pe de altă parte interfaţa grafică oferă câteva zeci de setări şi opţiuni, pe când profesioniştii ar prefera varianta de la linie de comandă pentru că pot să-i ataşeze mai multe sute de opţiuni obţinând astfel rezultate mai bune.
 +
 +Propun câteva exemple practice:
 +
 +  -ascultaţi radio cu "​mplayer":​
 +mplayer -playlist http:​%%//​%%www.csabaradio.hu/​listen128.m3u
 +
 +opţiunea "​-playlist"​ indică faptul că parametrul ce urmează este un playlist. Dacă doriţi conectarea directă la un stream, treceţi adresa lui imediat după "​mplayer"​. "​mplayer"​ ştie să facă diferenţa în funcţie de ce are ca parametru. Dacă-i daţi parametru un film, va arăta filmul, dacă-i daţi parametru un stream, va cânta radioul online respectiv, dacă-i daţi un mp3 sau alt fişier de sunet, va ghici că este sunet si va cânta.
 +
 +  -iată cum se porneşte un film cu parametri speciali:
 +mplayer /​nume/​film.mkv -lavdopts skiploopfilter=all -autosync 1 -framedrop
 +
 +====o) Cum să vă accesaţi calculatorul de la distanţă====
 +
 +În acest capitol ne vom referi la două metode de accesare a computerului de la distanţă. Prin definiţia de "​distanţă"​ se înţelege reţea locală sau Internet. Cu alte cuvinte, orice alt calculator care prin metoda unei căi de comunicare poate iniţia şi crea o legătură cu calculatorul dvs. Prima metodă este cea mai des utilizată şi se numeşte **SSH** (**S**ecure **Sh**ell). Tehnologia folosită este una destul de sofisticată. Pentru utilizator este suficient să se ştie că această comunicare este criptată şi securizată. Cu alte cuvinte nu poate a  treia persoană să "​asculte"​ comunicarea între dvs. şi calculatorul la care v-aţi conectat.
 +
 +  -**SSH** ​ este un sistem bazat pe arhitectura server-client. Serverul oferă serviciul de **ssh** cu ajutorul daemon-ului **sshd**. Clientul, cu aplicaţia **ssh**, se conectează la server. În urma conexiunii, pe ecranul clientului apar date de pe server. Clientul vede efectiv acelaşi lucru ce ar vedea stând în faţa serverului pe monitorul acestuia fiind logat în mod text. Toate comenzile lansate de client sunt rulate pe server, toate programele lansate de client sunt pornite de fapt pe server, toate operaţiile cu fişiere se întâmplă pe server, clientul beneficiază doar de conexiune pe post de "​monitor"​.
 +Serverul sshd se porneşte cu scriptul "//​sshd//"​ din **/​etc/​init.d/​**,​ configuraţiile se ţin în **/​etc/​ssh/​sshd.conf**.
 +
 +Clientul se porneşte cu aplicaţia ssh [[mailto:​utilizator@nume|utilizator@nume]]_server,​ configuraţiile se ţin în **/​etc/​ssh/​ssh.conf**.
 +
 +  -**VNC** ​ este un sistem prin care se poate conecta în mod grafic la server. Aplicaţia server se numeşte "​**vncserver**",​ aplicaţia client se numeşte "​**vncviewer**",​ iar parola pentru server se setează cu ajutorul comenzii "​**vncpasswd**"​. ​
 +Trebuie menţionat ca VNC nu este specific Linux, ci este cross-platform,​ adică este pentru toate sistemele de operare şi poate fi folosit în situaţii mixte.
 +
 +Pe Linux, "​**vncserver**"​ va porni încă un server X la care un client va avea acces pe baza parolei setate cu "​**vncpasswd**"​. Utilizatorul conectat implicit (logat în interfaţa grafică) va fi cel care porneşte serverul.
 +
 +====p) Alte referinţe on-line====
 +
 +  *[[http://​www.oreillynet.com/​linux/​cmd/​|http://​www.oreillynet.com/​linux/​cmd/​]]
 +  *[[http://​www.ibm.com/​developerworks/​aix/​library/​au-badunixhabits.html?​ca=dgr-lnxw93tenunixtips&​S_TACT=105AGX59&​S_CMP=GR|http://​www.ibm.com/​developerworks/​aix/​library/​au-badunixhabits.html?​ca=dgr-lnxw93tenunixtips&​S_TACT=105AGX59&​S_CMP=GR]]
 +  *[[http://​www.ss64.com/​bash/​|http://​www.ss64.com/​bash/​]]
 +  *[[http://​www.ss64.com/​links/​bash.html|http://​www.ss64.com/​links/​bash.html]]
 +
 +
 +** Echipa MandrivaUsers România are  plăcerea să vă prezinte sistemul de operare Mandriva Linux 2008.1 Spring! Acest sistem de operare conţine şi foloseşte cele mai noi inovaţii software posibile, pentru a oferi utilizatorilor o experienţă unică şi pentru a înlocui cu succes sistemele de operare plătite. **
 +
 +** Prezentul ghid acoperă capitolele cele mai importante, cum ar fi instalarea sistemului de operare, configurarea acestuia, instalarea aplicaţiilor suplimentare,​ folosirea consolei şi chiar mici secrete. **
 +
 +** Lumea Open Source nu trebuie să fie un tărâm mistic pentru nimeni. În ultimii ani, această lume a evoluat destul de mult încât să ofere fiecărui utilizator indiferent de nivelul de experienţă al acestuia, maximum de productivitate cu minimum de efort, şi aceasta folosind o interfaţă simplă şi intuitivă. Folosind Linux beneficiaţi de avantajele unui sistem de operare practic neafectat de viruşi şi alte ameninţări,​ fiind cu toate acestea gratuit, rapid, performant şi foarte uşor de utilizat. De asemenea, gama de aplicaţii disponibilă poate deschide şi edita toate tipurile de fişiere sau executa toate operaţiile cu care aţi fost obişnuit în alte sisteme de operare.**
 +
 +** În speranţa că v-am trezit interesul, vă facem o invitaţie călduroasă să testaţi acest sistem de operare cu ajutorul prezentului ghid, care a fost alcătuit special pentru a face tranziţia la Mandriva cât mai uşoară posibil pentru oricine.**
 +
 +//​**Autorii**//​
sectiunea_3.txt · Ultima modificare: 2008/05/31 20:10 (editare externă)