User Tools

Site Tools


basic-unix:capitole:capitol-04

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
basic-unix:capitole:capitol-04 [2016/05/15 21:56]
razvan created
basic-unix:capitole:capitol-04 [2016/05/24 09:27] (current)
rdobrescu [Acțiuni care necesită consultarea paginii de manual]
Line 1: Line 1:
-====== ​XTODO ======+====== ​4Folosirea documentației ​======
  
-TODO+În folosirea Linux, în special a liniei de comandă, documentația este esențială. Există opțiunea căutării pe Google, dar aceasta riscă să returneze foarte multe rezultate. În multe situații consultarea documentației locale (paginile de manual) poate fi o soluție mult mai adecvată.
  
 ===== Subiecte abordate ===== ===== Subiecte abordate =====
  
-  * TODO +  * Comenzi de ajutor în linia de comandă 
-  * TODO +  * Folosirea paginilor de manual: căutare 
-  * TODO+
  
 ==== Utilitare folosite ==== ==== Utilitare folosite ====
  
-  * TODO +  * ''​whatis'',​ ''​apropos''​ 
-  * TODO +  * ''​%%--help%%''​ 
-  * TODO+  * ''​man''​
  
 ===== Resurse utile ===== ===== Resurse utile =====
Line 24: Line 24:
 ==== Demo-uri ==== ==== Demo-uri ====
  
-TODO+Rolul comenzilor ''​apropos''​ și ''​whatis''​. 
 + 
 +Opțiunea ''​%%--help%%''​ e folosită foarte rar pentru că de obicei folosim paginile de manual care sunt ușor accesibile. 
 + 
 +Deschiderea unei pagini de manual, structura paginilor de manual, căutarea în pagini de manual. 
 + 
 +Match-ul anterior, match-ul precedent în pagina de manual. 
 + 
 +Secțiuni de pagini de manual 
 +<​code>​ 
 +man printf 
 +man 3 printf 
 +man read 
 +man 2 read 
 +man write 
 +man 2 write 
 +man man # see the table listing sections 
 +</​code>​ 
 + 
 +==== Căutare în pagini de manual ==== 
 + 
 +Căutați în pagina de manual (rulați {{{man last}}}) după cuvântul cheie "​full"​ (tastați "/​full"​) pentru a afla flag-ul care afișeaza data și ora în format complet. Rulați comanda ''​last''​ cu parametrul aflat. 
 + 
 +Folosiți un extra-argument al comenzii ''​ls''​ pentru a avea dimensiunile în format ''​human-readable''​. Căutați în pagina de manual a comenzii ''​ls''​. 
 + 
 +Determinați **doar** dimensiunea directorului ''/​etc''​ (nu și a subdirectoarelor) în format human readable. Căutați în pagina de manual a comenzii ''​du''​ după cuvântul cheie ''​summarize''​ și identificați opțiunea (argumentul) comenzii ''​du''​ care vă afișează dimensiunea directorului în format sumarizat.  
 + 
 +Căutați în pagina de manual a comenzii {{{find}}} **exemplul** de comandă care căută în {{{/sbin}}} și {{{/​usr/​sbin}}} fișierele cu drept de execuție dar fără drept de citire. 
 + 
 +Ce conține secțiunea 5 a paginilor de manual? Aflați informații despre fișierul {{{/​etc/​passwd}}}. 
 + 
 +Determinați comenzile folosite pentru a lucra cu fișiere {{{.zip}}}. Folosiți comanda ''​apropos''​ pentru aceasta. 
 + 
 +==== Acțiuni care necesită consultarea paginii de manual ==== 
 + 
 +Descărcați pagina de la link-ul http://​koala.cs.pub.ro/​training/​wiki/​basic-unix/​home?​do=export_pdf într-un fișier cu numele ''​training-start.pdf''​. Folosiți comanda ''​wget''​. Căutați după șirul ''​output'',​ citiți cu atenție informațiile și nu vă grăbiți: ce găsiți prima oară nu este ceea ce căutați. 
 + 
 +Adăugați un utilizator în sistem, în mod neinteractiv,​ folosind comanda ''​useradd''​. Numele utilizatorului să fie ''​hector''​ să aibă directorul home în ''/​home/​heroes/​hector'',​ să aibă ca shell de login ''/​bin/​bash''​. 
 + 
 +Apoi folosiți comanda ''​chpasswd''​ ca să schimbați în mod neinteractiv parola utilizatorului. 
 + 
 +==== Construire fișier cu informații binare ==== 
 + 
 +<note tip> 
 +Pentru a crea un fișier cu 1024 de date aleatoare folosim comanda 
 +<​code>​ 
 +dd if=/​dev/​urandom of=file bs=1024 count=1 
 +</​code>​ 
 +</​note>​ 
 + 
 +Creați un fișier care să conțină 2048 de octeți de zero (din ''/​dev/​zero''​) urmați de 2048 de octeți aleatori (din ''/​dev/​urandom''​) urmați de 2048 de octeți de zero și apoi urmați de 2048 de octeți din fișierul ''/​bin/​false''​ de la offsetul 4096 al fișierului. 
 + 
 +Folosiți mai multe comenzi ''​dd''​ pentru a face acest lucru. 
 + 
 +<note tip> 
 +Folosim opțiunile ''​skip''​ și ''​seek''​ ale ''​dd''​ pentru a putea sări peste regiuni din fișierul de la intrare și din fișierul de la ieșire. Mai multe informații mai jos. 
 +</​note>​ 
 + 
 +<note tip> 
 +Sintaxa comenzii poate fi la modul 
 +<​code>​ 
 +dd if=/​dev/​zero of=myfile.out bs=512 count=4 
 +</​code>​ 
 +Comanda de mai sus copiază din fișierul de intrare (''​if'':​ //input file//) ''/​dev/​zero''​ la fișierul de ieșire (''​of'':​ //output file//) ''​myfile.out'',​ un număr (//count//) de ''​4''​ blocuri de dimensiune ''​512''​ (''​bs'':​ //block size//). 
 + 
 +Pentru exercițiul curent este recomandat să folosiți dimensiunea blocului de ''​2048''​ de octeți (''​bs=2048''​). 
 +</​note>​ 
 + 
 +<note tip> 
 +Ca să investigăm conținutul binar al unui fișier folosind comanda ''​xxd''​ într-o construcție de forma 
 +<​code>​ 
 +xxd myfile.out 
 +</​code>​ 
 +Output-ul este pe două zone: prima zonă (din stânga) sunt afișate datele în format hexazecimal,​ iar în a doua zonă (din dreapta) în format ASCII, acolo unde se poate. 
 +</​note>​ 
 + 
 +**Bonus**: Folosiți comanda ''​xxd''​ pentru a afișa pe rând, primii 32 de octeți de la offset-ul ''​0'',​ apoi offset-ul ''​2048'',​ apoi ''​4096''​ și apoi ''​6144''​. 
 + 
 +<note important>​ 
 +Argumentul pentru opțiunile ''​skip''​ și ''​seek''​ ale comenzii ''​dd''​ este dat în număr de blocuri, **nu** în număr de octeți. 
 + 
 +Opțiunea ''​seek''​ este pentru a sări peste zone din fișierul de ieșire, iar opțiunea ''​skip''​ este pentru a sări peste zone din fișierul din intrare. 
 +</​note>​ 
 + 
 +==== Folosire top în mod neinteractiv ==== 
 + 
 +Comanda top este folosită pentru monitorizarea proceselor. Căutați în manual după modul ''​batch''​ și faceți ca top să ruleze în modul neinteractiv (batch) și să afișeze de 5 ori lista de procese. 
 + 
 +==== Monitorizare cu sar ==== 
 + 
 +Dacă nu aveți instalat pachetul ''​sysstat''​ instalați-l.
  
-TODO+<note tip> 
 +Dacă nu puteți instala pachetul folosind comanda 
 +<​code>​ 
 +sudo apt-get install sysstat 
 +</​code>​ 
 +atunci descărcați fișierul arhivă de [[|aici]], decomprimați-l și apoi, în subdirectorul ''​packages/''​ rulați comanda 
 +<​code>​ 
 +sudo dpkg -i * 
 +</​code>​ 
 +</​note>​
  
-==== TODO 2 ====+Folosiți utilitarele ''​iostat'',​ ''​pidstat''​ și ''​mpstat''​ pentru a monitoriza informații despre sistem. Realizați rulări care: 
 +  - Afișează informațiile aferente **o singură dată**. 
 +  - Afișează informațiile aferente la fiecare 5 secunde. 
 +  - Afișați, acolo unde se poate, informații doar pentru procesul shell curent (PID-ul său este indicat de construcția ''​$$''​).
  
-TODO+==== Formatare fișiere ====
  
-==== TODO 2 ====+Copiați conținut de lorem ipsum de [[http://​loripsum.net/​|aici]] într-un fișier. Apoi faceți formatare la 40 de caractere linie folosind comanda ''​fold''​.
  
-TODO+Formatați conținutul fișierului ''/​etc/​passwd''​ pe coloane folosind comanda ''​column''​. Parcurgeți pagina de manual a comenzii ''​column''​ pentru opțiunile aferente.
  
 +Folosiți comanda ''​split''​ pentru a împărți conținutul fișierului ''/​etc/​passwd''​ în mai multe fișiere, fiecare fișier cuprinzând câte 4 linii.
basic-unix/capitole/capitol-04.1463338592.txt.gz · Last modified: 2016/05/15 21:56 by razvan