This shows you the differences between two versions of the page.
uso:laboratoare:laborator-06:improve-cli-summary [2022/11/07 19:18] iustina.caramida [Fișiere speciale] |
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 32: | Line 32: | ||
==== Căutarea unui fișier în sistem ==== | ==== Căutarea unui fișier în sistem ==== | ||
- | |||
- | === Utilitarul locate === | ||
- | |||
- | 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 === | === Utilitarul find === | ||
Line 48: | Line 38: | ||
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 rapida a conținutului fișierelor ==== | + | ==== Inspectarea rapidă 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 72: | Line 60: | ||
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%%''. | + | |
- | + | ||
- | Comparăm textual două fișiere folosind utilitarul ''%%diff%%''. | + | |
==== Opțiuni uzuale ale grep ==== | ==== Opțiuni uzuale ale grep ==== | ||
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%%''. | ||
Line 97: | Line 81: | ||
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%%''. | ||
Line 118: | Line 100: | ||
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. |