Differences

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

Link to this comparison view

uso:laboratoare:laborator-07:cheatsheet [2021/11/17 19:01]
andrei.tivga [Sumar: Scurtături în terminal]
— (current)
Line 1: Line 1:
- 
- 
- 
-====== Sumar: Inspectarea sistemului de fișiere ====== 
- 
-===== Inspectarea paginilor de manual ===== 
- 
-  * Navigarea prin paginile manualului: 
-    * ''​%%Ctrl+n%%''/''​%%Ctrl+p%%''​ sau ''​%%j%%''/''​%%k%%''​ pentru a naviga, cu câte o linie, în jos, respectiv în sus; recomandăm utlizarea tastelor ''​%%j%%''/''​%%k%%''​ pentru a fi mai eficienți 
-    * Search (''​%%/​%%'',​ ''​%%?​%%'',​ ''​%%n%%'',​ ''​%%N%%''​) 
-    * Go up (''​%%g%%''​),​ go down (''​%%G%%''​) 
-    * Help (''​%%h%%''​) pentru a afla mai multe despre cum putem folosi mai bine sesiunea interactivă 
-    * Quit (''​%%q%%''​) pentru a ieși din sesiunea interactivă 
-  * Prezentarea secțiunilor din manual: ''​%%man printf%%''​ vs ''​%%man 3 printf%%''​. 
-  * Prezentarea pachetului ''​%%tldr%%''​ - poate fi util pentru cazurile uzuale, dar nu trebuie să ne fie frică să căutăm în ''​%%man%%''​ pentru detalii 
- 
-===== Selectarea multiplor fișiere folosind globbing ===== 
- 
-Folosim //​globbing//​ pentru a selecta mai multe fișiere al căror nume corespunde unui tipar: 
- 
-  * Caracterul ''​%%*%%''​ poate fi înlocuit cu orice caracter de oricâte ori, sau poate lipsi cu totul. 
-  * Caracterul ''​%%?​%%''​ înlocuiește exact un caracter, oricare ar fi acela. 
-  * Folosim sintaxa ''​%%[]%%''​ pentru a defini o listă de caractere care pot fi folosite în înlocuire. 
-  * Folosim sintaxa ''​%%{}%%''​ pentru a defini o listă de cuvinte (grupuri de caractere) care pot fi folosite în înlocuire. 
-  * Scăpăm de semnificația specială a unei expresii încadrând-o între ''​%%"​%%''​ (ghilimele). 
- 
-===== 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. 
- 
-<​HTML><​dl></​HTML>​ 
-<​HTML><​dt></​HTML>​Are două dezavantaje:<​HTML></​dt></​HTML>​ 
-<​HTML><​dd></​HTML><​HTML><​ol></​HTML>​ 
-<​HTML><​li></​HTML>​Baza de date trebuie reconstruită periodic. Dacă vrem să reconstruim manual baza de date, avem nevoie de drepturi privilegiate pentru a rula comanda ''​%%updatedb%%''​.<​HTML></​li></​HTML>​ 
-<​HTML><​li></​HTML>​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%%''​.<​HTML></​li></​HTML><​HTML></​ol></​HTML>​ 
-<​HTML></​dd></​HTML><​HTML></​dl></​HTML>​ 
- 
-==== 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. 
- 
-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 ====== 
- 
-=== 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ă: 
- 
-  * ''​%%Ctrl+n%%''/''​%%Ctrl+p%%''​ sau ''​%%j%%''/''​%%k%%''​ pentru a naviga, cu câte o linie, în jos, respectiv în sus; recomandăm utlizarea tastelor ''​%%j%%''/''​%%k%%''​ pentru a fi mai eficienți 
-  * ''​%%Ctrl+f%%''/''​%%Ctrl+b%%''​ pentru a naviga, cu câte o pagină de terminal, în jos, respectiv în sus 
-  * Search (''​%%/​%%'',​ ''​%%?​%%'',​ ''​%%n%%'',​ ''​%%N%%''​) 
-  * Go up (''​%%g%%''​),​ go down (''​%%G%%''​) 
-  * Help (''​%%h%%''​) pentru a afla mai multe despre cum putem folosi mai bine sesiunea interactivă 
-  * Quit (''​%%q%%''​) pentru a ieși din sesiunea interactivă 
- 
-Pentru a afișa pe ecran conținutul unui fișier folosim utlitarul ''​%%cat%%''​. 
- 
-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 === 
- 
-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%%''​. 
- 
-===== Opțiuni uzuale ale grep ===== 
- 
-Folosim opțiunea ''​%%-n%%''​ pentru a afișa și numărul liniei care conține patternul căutat. 
- 
-Implicit, grep caută în mod case-sensitive patternul. Folosim opțiunea ''​%%-i%%''​ pentru a căuta patternul în mod case-insensitive. 
- 
-Pentru a afișa toate liniile, mai puțin pe cele care conțin pattern, folosim opțiunea ''​%%-v%%''​. 
- 
-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ă. 
- 
-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%%''​. 
- 
-=== Compararea fișierelor === 
- 
-Comparăm două fișiere, octet cu octet, folosind utilitarul ''​%%cmp%%''​. 
- 
-Comparăm textual două fișiere folosind utilitarul ''​%%diff%%''​. 
- 
-====== Sumar: O înțelegere mai bună a shellului ====== 
- 
-=== 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. 
- 
-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%%''​. 
- 
-=== Execuția 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. 
- 
-Pentru a înlănțui comenzi în terminalul bash avem trei operatori disponibili:​ 
- 
-  * Operatorul ''​%%;​%%''​ - este folosit pentru separarea comenzilor, indiferent de cum s-au executat acestea. 
-  * Operatorul binar ''​%%&&​%%''​ (și logic) - execută a doua comandă doar dacă precedenta s-a executat cu succes. 
-  * Operatorul binar ''​%%||%%''​ (sau logic) - execută a doua comandă doar dacă prima s-a terminat cu eșec. 
- 
-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 ===== 
- 
-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 ''​%%>>​%%''​. 
- 
-Folosim sintaxa ''​%%&>​ cale/​către/​nume-fișier%%''​ pentru a redirecta atât STDERR, cât și STDOUT, în fișierul primit ca argument. 
- 
-==== Filtre de text ==== 
- 
-===== Mini cheatsheet ===== 
- 
-^ Comandă ​ ^ Descriere scurtă ​      ^ 
-| **''​head''​** ​ | comandă folosită să afișăm primele linii dintr-un output | 
-| **''​tail''​** ​ | comandă folosită să afișăm ultimele linii dintr-un output ​      | 
-| **''​find''​** ​ | comandă cu care putem găsi un fișier într-o ierarhie de directoare | 
-| **''​tr''​** ​   | filtru de text, mai multe detalii [[http://​linuxcommand.org/​lc3_man_pages/​tr1.html|aici]] | 
-| **''​cut''​** ​  | comandă utilă pentru a separa secțiuni ale unui output, pentru detalii [[https://​www.computerhope.com/​unix/​ucut.htm|aici]] | 
-| **''​sort''​** ​ | sortează un output | 
-| **''​grep''​** ​ | caută apariția unui cuvânt/​expresii regulate într-un text |  
-| **''​uniq''​** ​ | elimină duplicatele unui output | 
-| **''​wc''​** ​   | utilitar care numără liniile, caracterele,​ cuvintele | 
-| **''​touch''​** | creează un fișier | 
-| **''​file''​** ​ | inspectează tipul unui fișier | 
- 
-==== Fișiere speciale ==== 
- 
-  * Fișierul ''​%%/​dev/​null%%''​ este un fișier care ignoră orice este scris în el. 
-  * Fișierul ''​%%/​dev/​zero%%''​ este un generator de octeți. Acesta generează atâția octeți cu valoarea zero (**0**) cât îi sunt ceruți. 
-  * Fișierul ''​%%/​dev/​urandom%%''​ este un alt generator de octeți. Acesta generează atâția octeți cu valoare random cât îi sunt ceruți. 
  
uso/laboratoare/laborator-07/cheatsheet.1637168516.txt.gz · Last modified: 2021/11/17 19:01 by andrei.tivga
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