Table of Contents

4. Folosirea documentației

Î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

Utilitare folosite

Resurse utile

Exerciții

Demo-uri

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

man printf
man 3 printf
man read
man 2 read
man write
man 2 write
man man # see the table listing sections

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

Pentru a crea un fișier cu 1024 de date aleatoare folosim comanda

dd if=/dev/urandom of=file bs=1024 count=1

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.

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.

Sintaxa comenzii poate fi la modul

dd if=/dev/zero of=myfile.out bs=512 count=4

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).

Ca să investigăm conținutul binar al unui fișier folosind comanda xxd într-o construcție de forma

xxd myfile.out

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.

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.

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.

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.

Dacă nu puteți instala pachetul folosind comanda

sudo apt-get install sysstat

atunci descărcați fișierul arhivă de aici, decomprimați-l și apoi, în subdirectorul packages/ rulați comanda

sudo dpkg -i *

Folosiți utilitarele iostat, pidstat și mpstat pentru a monitoriza informații despre sistem. Realizați rulări care:

  1. Afișează informațiile aferente o singură dată.
  2. Afișează informațiile aferente la fiecare 5 secunde.
  3. 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 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.