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:18]
razvan [Demo-uri]
basic-unix:capitole:capitol-04 [2016/05/24 09:27] (current)
rdobrescu [Acțiuni care necesită consultarea paginii de manual]
Line 26: Line 26:
 Rolul comenzilor ''​apropos''​ și ''​whatis''​. 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.+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. Deschiderea unei pagini de manual, structura paginilor de manual, căutarea în pagini de manual.
Line 43: Line 43:
 </​code>​ </​code>​
  
-==== TODO 2 ====+==== Căutare în pagini de manual ​====
  
-TODO+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.
  
-==== TODO 2 ====+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''​.
  
-TODO+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.1464027498.txt.gz · Last modified: 2016/05/23 21:18 by razvan