Differences

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

Link to this comparison view

uso:laboratoare:laborator-06:improve-cli-summary [2022/11/07 19:16]
iustina.caramida [Căutarea unui fișier în sistem]
uso:laboratoare:laborator-06:improve-cli-summary [2023/11/07 20:09] (current)
maria_irina.gherman [Sumar: O înțelegere mai bună a shellului]
Line 33: Line 33:
 ==== Căutarea unui fișier în sistem ==== ==== Căutarea unui fișier în sistem ====
  
-==== Utilitarul locate ==== +=== Utilitarul find ===
- +
-Folosim utilitarul ''​%%locate%%''​ pentru a căuta un fișier în întreg sistemul de fișiere. +
- +
-Are avantajul că este foarte rapid, deoarece folosește o bază de date pentru a indexa fișierele. +
- +
-  * **Are două dezavantaje:​** +
-    - Baza de date trebuie reconstruită periodic. Dacă vrem să reconstruim manual baza de date, avem nevoie de drepturi privilegiate pentru a rula comanda ''​%%updatedb%%''​. +
-    - Utilitarul caută în tot sistemul de fișiere: nu putem să specificăm un punct de start pentru căutare. Este necesar să filtrăm rezultatul căutării cu punctul de start dorit, așa cum am făcut în exemplul de mai sus: ''​%%| grep workspace/​C%%''​. +
- +
-==== Utilitarul find ====+
  
 Folosim ''​%%find%%''​ pentru a căuta după criterii mai complexe decât numele fișierului,​ cum ar fi tipul fișierului,​ data ultimei modificări,​ etc. Folosim ''​%%find%%''​ pentru a căuta după criterii mai complexe decât numele fișierului,​ cum ar fi tipul fișierului,​ data ultimei modificări,​ etc.
Line 49: Line 39:
 De cele mai multe ori vom folosi ''​%%find%%''​ în conjuncție cu opțiunea ''​%%-exec%%''​ pentru a rula o comandă asupra fișierelor găsite. De cele mai multe ori vom folosi ''​%%find%%''​ în conjuncție cu opțiunea ''​%%-exec%%''​ pentru a rula o comandă asupra fișierelor găsite.
  
-Utilitarul ''​%%find%%''​ este mai lent decât ''​%%locate%%'',​ dar nu necesită o bază de date care trebuie actualizată periodic. ''​%%locate%%''​ este probabil suficient pentru majoritatea cazurilor când suntem interesați de căutarea unui fișier. j+===== Sumar: Inspectarea ​fișierelor =====
  
-====== Sumar: Inspectarea fișierelor ====== +==== Inspectarea ​rapidă ​a conținutului fișierelor ​====
- +
-=== Inspectarea ​rapida ​a conținutului fișierelor ===+
  
 Pentru a vedea rapid conținutul unui fișier folosim utlitarul ''​%%less%%''​. În cadrul unei sesiuni ''​%%less%%''​ putem folosi aceeleași taste ca în cadrul sesiunii interactive ''​%%man%%''​ pentru navigarea în pagină: Pentru a vedea rapid conținutul unui fișier folosim utlitarul ''​%%less%%''​. În cadrul unei sesiuni ''​%%less%%''​ putem folosi aceeleași taste ca în cadrul sesiunii interactive ''​%%man%%''​ pentru navigarea în pagină:
Line 68: Line 56:
 Pentru a afișa parțial conținutul unui fișier sau a extrage rezultatul unei comenzi folosim utilitarele ''​%%head%%''​ și ''​%%tail%%''​. Pentru a afișa parțial conținutul unui fișier sau a extrage rezultatul unei comenzi folosim utilitarele ''​%%head%%''​ și ''​%%tail%%''​.
  
-=== Căutarea în fișiere ===+==== Căutarea în fișiere ​====
  
 Folosim comanda ''​%%grep%%''​ pentru a căuta un //pattern// într-un fișier sau în rezultatul unei comenzi (cum ar fi ''​%%cat%%''​). Modul de folosire este ''​%%grep PATTERN cale/​către/​fișier%%''​ sau ''​%%cmd | grep PATTERN%%''​. Folosim comanda ''​%%grep%%''​ pentru a căuta un //pattern// într-un fișier sau în rezultatul unei comenzi (cum ar fi ''​%%cat%%''​). Modul de folosire este ''​%%grep PATTERN cale/​către/​fișier%%''​ sau ''​%%cmd | grep PATTERN%%''​.
  
-=== Compararea ​fișierelor ===+Putem folosi funcția de căutare în sesiunea interactivă ''​%%less%%''​ pentru a găsi linia și fișierul care ne interesează.
  
-Comparăm două fișiere, octet cu octet, folosind utilitarul ''​%%cmp%%''​. +==== Opțiuni uzuale ale grep ====
- +
-Comparăm textual două fișiere folosind utilitarul ''​%%diff%%''​. +
- +
-===== Opțiuni uzuale ale grep =====+
  
 Folosim opțiunea ''​%%-n%%''​ pentru a afișa și numărul liniei care conține patternul căutat. Folosim opțiunea ''​%%-n%%''​ pentru a afișa și numărul liniei care conține patternul căutat.
Line 88: Line 72:
 Pentru a efectua o căutare recursivă folosim opțiunea ''​%%-r%%''​. Pentru a efectua o căutare recursivă folosim opțiunea ''​%%-r%%''​.
  
-De cele mai multe ori vom folosi opțiunile ''​%%-n%%'',​ ''​%%-i%%''​ și ''​%%-r%%''​ în aceelași timp. Astfel avem o căutare cât mai cuprinzătoare și putem folosi funcția de căutare în sesiunea interactivă ''​%%less%%''​ pentru a găsi linia și fișierul care ne interesează.+De cele mai multe ori vom folosi opțiunile ''​%%-n%%'',​ ''​%%-i%%''​ și ''​%%-r%%''​ în același timp. 
  
 **Extra:** Dacă dorim să căutăm cuvântul **search** folosim opțiunea ''​%%-w%%''​ (word) pentru a trata patternul ca un cuvânt, ca în exemplul următor: ''​%%grep -nri -w "​search"​ workspace/​C/​ | less%%''​. **Extra:** Dacă dorim să căutăm cuvântul **search** folosim opțiunea ''​%%-w%%''​ (word) pentru a trata patternul ca un cuvânt, ca în exemplul următor: ''​%%grep -nri -w "​search"​ workspace/​C/​ | less%%''​.
  
-====== Sumar: O înțelegere mai bună a shellului ​======+===== Sumar: O înțelegere mai bună a shellului =====
  
-===== Configurarea shellului bash =====+==== Configurarea shellului bash ====
  
 Fișierul de configurare al shellului **BASH** este ''​%%~/​.bashrc%%''​. Atunci când un utilizator pornește un shell bash, conținutul fișierului ''​%%~/​.bashrc%%''​ este citit și sunt aplicate configurările specifice utilizatorului. Fișierul de configurare al shellului **BASH** este ''​%%~/​.bashrc%%''​. Atunci când un utilizator pornește un shell bash, conținutul fișierului ''​%%~/​.bashrc%%''​ este citit și sunt aplicate configurările specifice utilizatorului.
- 
-Valorile variabilelor ''​%%HISTSIZE%%''​ și ''​%%HISTFILESIZE%%''​ limitează numărul maxim de comenzi, respectiv linii, din fișierul ''​%%~/​.bash_history%%''​. 
  
 Un alias este un nume (//​placeholder//​) care înlocuiește un șir de caractere. Pentru o organizare mai bună, este recomandat ca utilizatorul să-și definească aliasurile în fișierul ''​%%~/​.bash_aliases%%''​. Un alias este un nume (//​placeholder//​) care înlocuiește un șir de caractere. Pentru o organizare mai bună, este recomandat ca utilizatorul să-și definească aliasurile în fișierul ''​%%~/​.bash_aliases%%''​.
  
-===== Înlănțuirea comenzilor ​=====+==== Înlănțuirea comenzilor ====
  
 Atunci când își încheie execuția, orice proces întoarce un cod de eroare, care este un număr: valoarea ''​%%0%%''​ semnifică că acesta și-a încheiat execuția cu succes, iar orice ală valoare indică o eroare. Atunci când își încheie execuția, orice proces întoarce un cod de eroare, care este un număr: valoarea ''​%%0%%''​ semnifică că acesta și-a încheiat execuția cu succes, iar orice ală valoare indică o eroare.
Line 114: Line 96:
 Atunci când folosim operatorul ''​%%|%%''​ preluăm rezultatul comenzii din stânga operatorului și îl oferim ca intrare comenzii aflate în dreapta operatorului. Operatorul ''​%%|%%''​ ne permite să prelucrăm datele de interes, trecându-le prin mai multe utilitare, fiecare cu un scop bine definit. Atunci când folosim operatorul ''​%%|%%''​ preluăm rezultatul comenzii din stânga operatorului și îl oferim ca intrare comenzii aflate în dreapta operatorului. Operatorul ''​%%|%%''​ ne permite să prelucrăm datele de interes, trecându-le prin mai multe utilitare, fiecare cu un scop bine definit.
  
-===== Redirectări ​=====+==== Redirectări ====
  
 Folosim operatorul ''​%%>​%%''​ pentru a redirecta **STDOUT** sau **STDERR** într-un fișier. Pentru a redirecta ieșirea standard folosim sintaxa ''​%%cmd > nume-fișier%%''​. Pentru a redirecta ieșirea standard a erorilor folosim sintaxa ''​%%cmd 2> nume-fișier%%''​. Folosim operatorul ''​%%>​%%''​ pentru a redirecta **STDOUT** sau **STDERR** într-un fișier. Pentru a redirecta ieșirea standard folosim sintaxa ''​%%cmd > nume-fișier%%''​. Pentru a redirecta ieșirea standard a erorilor folosim sintaxa ''​%%cmd 2> nume-fișier%%''​.
  
-Implicit, ​operatoru ​''​%%>​%%''​ șterge (trunchează) conținutul fișierului destinație. Dacă vrem să păstrăm conținutul fișierului și să adăugăm rezultatul redirectării în continuarea acestuia, folosim operatorul ''​%%>>​%%''​.+Implicit, ​operatorul ​''​%%>​%%''​ șterge (trunchează) conținutul fișierului destinație. Dacă vrem să păstrăm conținutul fișierului și să adăugăm rezultatul redirectării în continuarea acestuia, folosim operatorul ''​%%>>​%%''​.
  
 Folosim sintaxa ''​%%&>​ cale/​către/​nume-fișier%%''​ pentru a redirecta atât STDERR, cât și STDOUT, în fișierul primit ca argument. Folosim sintaxa ''​%%&>​ cale/​către/​nume-fișier%%''​ pentru a redirecta atât STDERR, cât și STDOUT, în fișierul primit ca argument.
  
-==== Fișiere speciale ​====+=== Fișiere speciale ===
  
   * Fișierul ''​%%/​dev/​null%%''​ este un fișier care ignoră orice este scris în el.   * Fișierul ''​%%/​dev/​null%%''​ este un fișier care ignoră orice este scris în el.
uso/laboratoare/laborator-06/improve-cli-summary.1667841403.txt.gz · Last modified: 2022/11/07 19:16 by iustina.caramida
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0