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

Both sides previous revision Previous revision
Next revision
Previous revision
basic-unix:capitole:capitol-04 [2016/05/23 21:15]
razvan [Utilitare folosite]
basic-unix:capitole:capitol-04 [2016/05/24 09:27] (current)
rdobrescu [Acțiuni care necesită consultarea paginii de manual]
Line 24: Line 24:
 ==== Demo-uri ==== ==== Demo-uri ====
  
-TODO+Rolul comenzilor ''​apropos''​ și ''​whatis''​.
  
-TODO+Opțiunea ''​%%--help%%''​ e folosită foarte rar pentru că de obicei folosim paginile de manual care sunt ușor accesibile.
  
-==== TODO 2 ====+Deschiderea unei pagini de manual, structura paginilor de manual, căutarea în pagini de manual.
  
-TODO+Match-ul anterior, match-ul precedent în pagina de manual.
  
-==== TODO ====+Secțiuni de pagini de manual 
 +<​code>​ 
 +man printf 
 +man 3 printf 
 +man read 
 +man read 
 +man write 
 +man 2 write 
 +man man # see the table listing sections 
 +</​code>​
  
-TODO+==== 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.
 +
 +<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>​
 +
 +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 ''​$$''​).
 +
 +==== Formatare fișiere ====
 +
 +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''​.
 +
 +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.1464027303.txt.gz · Last modified: 2016/05/23 21:15 by razvan