Cum se utilizează comenzile Grep și exemplele Tree Linux

Unul dintre cele mai versatile sisteme de operare de gestionat prin terminal este fără îndoială Linux în oricare dintre distribuțiile sale disponibile și asta datorită integrării numeroaselor comenzi disponibile în consola sa. Nu contează dacă folosim un sistem bazat pe terminal (cum ar fi versiunile de server) sau un mediu bazat pe GUI (cum ar fi versiunile desktop), în toate terminalul și comenzile sale vor fi întotdeauna o sursă fiabilă de gestionare și a sustine.

În cadrul activităților noastre zilnice se află crearea și editarea de dosare și fișiere, care pot fi numeroase în funcție de rolul jucat. Acest lucru la un moment dat de asistență este normal, care într-un fel sau altul afectează negativ căutarea elementelor nu numai prin numărul de fișiere, ci și prin locația în care sunt găzduite.

Pentru a ajuta la gestionarea acestor tipuri de activități într-un mod mult mai simplu, avem două comenzi esențiale atât pentru căutarea cât și pentru vizualizarea obiectelor în Linux și acestea sunt comenzile Grep și Tree. Solvetic va explica în detaliu utilizarea lor și cum să le aplicăm în mod cuprinzător în distribuția Linux pe care o folosim.

1. Ce este comanda GREP

Ce este comanda GrepGrep este o comandă dezvoltată pentru a executa sarcini de căutare text, Grep se ocupă de căutarea în fișierul în care indicăm liniile în care este detectată o potrivire fie cu cuvintele, fie cu șirul pe care îl atribuim în timpul executării acestuia. Numele său este derivat din editorul UNIX g / re / p. În timpul execuției Grep, va fi posibil să indicați numele unui fișier sau este posibil să lăsați intrarea standard, astfel Grep este responsabil de generarea liniilor potrivite.

Variabile GrepExistă trei (3) variabile gestionate în timpul procesului Grep care sunt:

  • -G, --basic-regexp: acesta este responsabil pentru interpretarea modelului ca o expresie regulată de bază, este valoarea implicită.
  • -E, --extended-regexp: Această opțiune validează modelul ca o expresie regulată extinsă.
  • -F, --fixed-strings: cu această opțiune, modelul este interpretat ca o listă de șiruri de caractere fixe, separate prin întreruperi de linie în care potrivirea va fi găsită în oricare dintre ele.

Comanda Grep (Global Regular Expression Print) este o comandă care ne va permite să analizăm sistemul pentru a găsi potrivirile și odată detectate, continuăm să tipărim rezultatele, astfel încât să fie posibilă gestionarea centralizată a acestor rezultate.

Sintaxa GrepSintaxa pentru utilizarea comenzii Grep este următoarea:

 grep (Opțiune) Model (fișier) 

Parametrii comenzii GrepExistă o serie de parametri pe care îi putem folosi cu comanda grep pentru a obține cele mai bune rezultate, aceștia sunt:

  • -E, --extended-regexp: Modelele sunt înțelese ca expresii regulate
  • -F, --fixed-strings: Modelele sunt șiruri
  • -G, --basic-regexp: Modelele sunt expresii regulate de bază
  • -P, --perl-regexep: Modelele sunt expresii Perl
  • -e, regexp = MODELE: Căutați modele pentru potriviri
  • -F. -file (File): Faceți uz de modele ca fișier
  • -i, --ignore-case: Ignorați majusculele
  • -w, --word-regexp: Potriviți toate aceleași cuvinte
  • -x, --line-regexp: Potriviți toate liniile
  • -s, --no-messages: Eliminați mesajele de eroare
  • -v, --invert-match: Selectați liniile care nu corespund criteriilor de căutare
  • -V, --version: Afișați versiunea grep utilizată
  • -m, --max-count = NUM: Opriți căutarea după un număr specificat de linii
  • -b, --byte-offset = Afișează offsetul de octeți lângă liniile de ieșire
  • -n, --line-number: Imprimați numărul de linii
  • -H, --with-filename: afișează numele fișierului pe liniile de ieșire
  • -q, --quiet: suprimă toate rezultatele
  • -d, --directories = Acțiune: Indică modul în care sunt gestionate directoarele
  • -l, --files-without-match = Imprimați numai numele fișierelor fără a include liniile
  • -c, --count: Imprimați liniile selectate pe fișier

Nu am nicio comandă GrepComanda grep este implicită în distribuțiile Linux, dar dacă din anumite motive nu o aveți, o puteți instala cu următoarele comenzi:

 sudo apt-get install grep (Debian și Ubuntu) sudo yum install grep (Redhat, CentOS și Fedora)

Pasul 1
Sintaxa generală, care poate conține mai mulți parametri, este următoarea:

 grep [-AB] num] [-CEFGVbchiLlnqsvwxyUu] [[-e] pattern | -f fișier] [--extended-regexp] [--fixed-strings] [--basic-regexp] [--regexp = PATTERN] [--file = FILE] [--ignore-case] [--word -regexp] [--line-regexp] [--line-regexp] [--no-messages] [--invert-match] [--version] [--help] [--byte-offset] [- -line-number] [--with-file name] [--no-filename] [--quiet] [--silent] [--files-without-match] [--files-with-matcces] [- count ] [--before- context = NUM] [--after-context = NUM] [--context] [--binary] [--unix-byte-offsets] fișiere … 
Pasul 2
Vom vedea câteva exemple de utilizare a Grep înainte de a-i cunoaște parametrii. Dacă dorim să căutăm în directorul / etc / passwd tot ce ține de un anumit utilizator, putem executa următoarele:
 grep "utilizator" / etc / passwd 
Pasul 3
Rezultatul va fi următorul:

Pasul 4
De asemenea, va fi posibil să forțați comanda Grep să ignore literele majuscule și minuscule, adică să permită potrivirea solvetic, Solvetic sau SOLVETIC împreună cu toate combinațiile folosind parametrul -i:

 grep -i "solvetic" / etc / passwd 

Pasul 5
Această opțiune poate fi executată și folosind comanda cat astfel:

 cat / etc / passwd | grep -i "solvetic" 

2. Exemple de utilizare a comenzii Grep


Utilizarea comenzilor în sistemele de operare Linux este o sarcină obligatorie pentru toți administratorii și utilizatorii IT, deoarece datorită acestora putem efectua sute de sarcini administrative, informaționale și de asistență. Există numeroase comenzi, fiecare cu propriile criterii și funcții, dar una dintre ele specială pentru căutarea textului în fișiere situate în directoare sau foldere este comanda Grep.

Acum vom vedea cum să folosim comanda Grep în Linux.

Cum se utilizează Grep în generalPentru a înțelege cum funcționează Grep, vom căuta în directorul / etc / passwd toate rezultatele asociate cu utilizatorul nostru:

 grep solvetic / etc / passwd 
Drept urmare, vom vedea următoarele:

Ca un punct suplimentar, să ne amintim că este posibil să-i spunem grep să ignore literele majuscule și minuscule în rezultate, pentru aceasta executăm următoarele:

 grep -i "solvetic" / etc / passwd 

Grep este ideal pentru căutarea unor termeni specifici în fișiere cunoscute, de exemplu, să executăm următoarea căutare:

 grep Solvetic Solvetic.txt 
Ca rezultat, vom vedea liniile în care se repetă acel cuvânt:

Putem căuta același termen în diferite fișiere simultan, pentru aceasta vom folosi următoarea linie:

 grep Solvetic Solvetic.txt Solvetic1.txt 

O modalitate mai scurtă de a face acest lucru este executând următoarele:

 grep solvetic *. * 

Cum se folosește grep pentru a redirecționa rezultatele către un fișier pe LinuxAcest lucru este util pentru cazurile în care trebuie să efectuăm sarcini de administrare pe fișiere ulterior, astfel încât este posibil să redirecționăm ieșirea comenzii grep către un fișier specific, de exemplu, vom face următoarele:

 grep Solvetic Solvetic.txt> Solvetic2.txt 
Ca urmare, vom vedea că a fost creat fișierul text necesar:

MARI

Cum se folosește grep pentru a căuta directoareDatorită parametrului -r vom putea căuta o valoare în subdirectoarele disponibile, vom executa următoarele:

 grep -r Solvetic / acasă / solvetic 
Aceasta va căuta în întregul director de acasă termenul care evidențiază rezultatele detectate:

Cum se folosește grep pentru a afișa numărul linieiPentru activități de audit sau asistență avansată, este ideal să afișăm numărul liniei în care se găsește modelul de căutare, pentru aceasta putem folosi parametrul -n după cum urmează. Acolo găsim numărul liniei în care se găsește fiecare valoare.

 grep -n Solvetic Solvetic.txt 

Cum se folosește grep pentru a evidenția rezultateleDeoarece știm că textul poate deveni confuz de multe ori, o soluție este să evidențiem criteriile de căutare care ne concentrează viziunea direct pe acea linie, pentru aceasta vom folosi parametrul de culoare astfel:

 grep -color Solvetic Solvetic.txt 

Cum se folosește grep pentru a afișa liniile care încep sau se termină cu modelul indicatEste posibil să dorim să vedem doar rezultatele liniilor care încep sau se termină cu un criteriu de căutare, pentru aceasta, dacă dorim să căutăm liniile care încep, vom folosi următoarea linie:

 grep Solvetic Solvetic.txt 

Acum, pentru a afișa liniile care se termină, vom folosi următoarele:

 grep Solvetic $ Solvetic.txt 

Cum se folosește grep pentru a imprima toate liniile fără a vedea care se potrivescDacă vrem să vedem toate liniile, cu excepția celor în care se caută valoarea, trebuie să folosim parametrul -v astfel:

 grep -v Solvetic Solvetic.txt 

Cum se folosește grep cu alte comenziGrep, ca multe comenzi Linux, poate fi utilizat simultan cu alte comenzi pentru rezultate mai clare, de exemplu, dacă dorim să implementăm procese HTTP vom folosi grep împreună cu ps după cum urmează:

 ps -ef | grep http 

Cum se folosește grep pentru a calcula cât de mult se repetă un cuvânt într-un fișierDacă vrem să știm de câte ori se repetă un model într-un anumit fișier, vom folosi parametrul -c:

 grep -c Solvetic Solvetic.txt 

Cum se folosește grep pentru a efectua o căutare inversăDeși pare ciudat, acest lucru nu este altceva decât afișarea cuvintelor pe care nu le specificăm în rezultat, obținem acest lucru cu parametrul -v:

 grep -v Solvetic Solvetic2.txt

Cum se folosește grep pentru a vizualiza detaliile hardwareAm văzut înainte că putem combina grep cu alte comenzi pentru a afișa un rezultat, bine, dacă dorim să obținem detalii hardware specifice, putem folosi cat cu grep ca acesta:

 cat / proc / cpuinfo | grep -i „Model” 

Am învățat la nivel global cum ne oferă comanda grep pentru a accesa rezultate mult mai specifice ale criteriilor de căutare în Linux.

3. Cum se folosește recursiv comanda Grep Linux

Pasul 1
Grep ne oferă posibilitatea de a executa o căutare recursivă, adică că această căutare citește toate fișierele din fiecare director pentru un șir specific, de exemplu, adresa IP a computerului, putem executa oricare dintre următoarele opțiuni:

 grep -r "192.168.0.25" / etc / sau grep -R "192.168.0.25" / etc /

NotăAcolo putem introduce adresa IP curentă a echipamentului utilizat.

Pasul 2
De asemenea, putem executa același lucru cu IP 192.168.1.5 pe care sistemul îl folosește pentru ieșiri standard:

Pasul 3
Putem observa că, cu ambele adrese IP, se afișează o linie separată precedată de numele fișierului în care a fost detectată, dacă dorim să eliminăm includerea acestei valori, va fi posibilă suprimarea acesteia folosind opțiunea -h asa:

 grep -h -R "192.168.1.5" / etc / sau grep -hR "192.168.1.5" / etc /

NotăAceastă comandă trebuie executată ca root sau prin preluarea sudo la comandă.

4. Cum se utilizează comanda Grep Linux pentru a rula căutările de cuvinte

Pasul 1
Grep este util pentru căutarea termenilor dintr-un anumit fișier, astfel, rezultatul va afișa într-un mod evidențiat fiecare linie în care se găsește termenul de căutare, precum și cuvintele (care nu sunt evidențiate) care însoțesc termenul de căutare, sintaxa de utilizat este următoarele. În acest caz, au fost detectate 3 potriviri în fișierul Solvetic1.

 grep -w fișier „cuvânt”

Pasul 2
În cazul în care dorim să căutăm doi termeni într-un fișier, trebuie să executăm următoarea sintaxă folosind comanda egrep. După cum putem vedea, cuvintele căutate vor fi evidențiate în rezultat.

 egrep -w 'termen1 | fișierul2' 

5. Cum se utilizează comanda Grep Linux pentru a număra cuvintele

Pasul 1
O altă opțiune practică a lui Grep este posibilitatea de a ști de câte ori se repetă un cuvânt într-un anumit fișier, acest lucru se realizează datorită parametrului -c astfel:

 grep -c fișier „cuvânt” 

Pasul 2
Alternativ, putem folosi parametrul -n pentru a precede fiecare linie de ieșire cu numărul liniei în care este introdus în fișierul selectat:

 grep -n fișier „cuvânt” 

6. Cum să forțați comanda Grep Linux de căutare inversă


Cu căutare inversă, înseamnă că comanda Grep va afișa doar rezultatele acelor linii care nu conțin cuvântul definit, acest lucru se realizează cu parametrul -v astfel:
 grep -v fișier „termen” 

7. Cum se utilizează UNIX / Linux Pipes împreună cu comanda Grep

Pasul 1
Comanda Grep din Linux poate fi combinată cu țevile shell UNIX, de exemplu, dacă dorim să listăm numele dispozitivelor de pe hard disk, vom executa următoarea linie:

 dmesg | egrep '(s | h) d [a-z]' 

Pasul 2
Acolo vor fi afișate rezultatele cu toate informațiile respective. Pentru a afișa modelul de procesor executăm:

 cat / proc / cpuinfo | grep -i „Model” 

Pasul 3
Pentru același rezultat putem executa și următoarele:

 grep -i „Model” / proc / cpuinfo 
Pasul 4
Una dintre cele mai speciale utilizări ale comenzii Grep sau egrep este capacitatea de a filtra ieșirea comenzilor tradiționale precum yum, dpkg, apt sau apt-get. De exemplu, putem rula următoarea linie pentru a găsi imagini Linux cu dpkg:
 dpkg --list | grep linux-image 

Pasul 5
Va fi posibilă rularea căutării cu apt:

 apt search maria | egrep „server | client” 

8. Cum se listează numai numele de fișiere care se potrivesc cu Grep


În acest scop putem folosi opțiunea -l pentru a enumera numele fișierului în care conținutul său va fi evidențiat astfel:
 grep -l „termen” * .c 
Parametrii comenzii GrepÎn continuare, vom vedea diferitele variabile pe care Grep ni le oferă pentru gestionarea sa în Linux:

  • -num: Cu această opțiune, liniile potrivite vor fi lângă numerele de linie anterioare și ulterioare.
  • -A num, --after-context = NUM: Afișează numărul de linii de context după ce se potrivesc cu cele indicate.
  • -B num, --before-context = NUM: Utilizarea acestei opțiuni va afișa liniile de context înainte de cele care se potrivesc căutării.
  • -V, --version: Afișați numărul versiunii de grep utilizat.
  • -b, --byte-offset: Acest parametru afișează offsetul în octeți de la începutul fișierului de intrare înainte de fiecare linie a ieșirii sale.
  • -c, --count: Numărați numărul de linii care corespund termenului specificat.
  • -h, --no-filename: suprimă tipărirea numelor de fișiere în ieșire.
  • i, --ignore-case: Nu ia în considerare dacă literele sunt majuscule sau mici.
  • -L, --files-without-match: Această opțiune arată numele fiecărui fișier de intrare în care nu se găsește nicio potrivire.
  • -l, --files-with-matches: Arată numele fiecărui fișier de intrare care poate genera un rezultat.
  • -n, --line-number: mapează fiecare linie de ieșire cu numărul de linie respectiv în fișierul de căutare.
  • -q, --quiet: Activați modul silențios care suprima ieșirea normală și căutarea se termină la prima potrivire.
  • -s, --silent: suprimați mesajele de eroare.
  • -v, --invert-match: Această opțiune inversează direcția de căutare, adică va afișa rezultatele care nu se potrivesc cu termenul de căutare.
  • w, --word-regexp: Acest parametru selectează numai liniile care conțin potriviri care alcătuiesc cuvinte întregi.
  • -x, --line-regexp: Această opțiune selectează numai potrivirile care constau din întreaga linie.

9. Cum se folosește și se instalează comanda Tree în Linux


Acum vom vorbi puțin despre comanda Tree, așa cum indică și numele, a fost dezvoltată pentru a afișa directoarele de sistem sub forma unui arbore, facilitând astfel gestionarea lor.

Comanda Tree acționează cu o comandă recursivă de listare a directorului care are ca rezultat formatul de copac proiectat cu o serie de culori numai dacă variabila de mediu LS_COLORS este setată și ieșirea este tty, în cazul în care nu sunt atribuite argumente, această comandă va lista fișierele din directorul curent.

Pasul 1
Sintaxa sa generală este următoarea:

 tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-I pattern] [--inodes] [ --device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format ] [--matchdirs] [-] [director …] 
Pasul 2
Primul pas este instalarea comenzii Tree executând următoarea comandă:
 sudo apt arborele de instalare 

Pasul 3
Odată instalat executăm direct comanda „copac” pentru a lista directorul curent în format copac:

10. Cum să lucrați cu fișiere folosind comanda Tree în Linux

Vizualizați fișierele ascunse cu TreeÎn mod implicit, comanda Tree nu va afișa fișiere ascunse din motive de securitate, dacă dorim să le vizualizăm în rezultat, va fi posibil să adăugăm parametrul -a în acest scop:

 copac -a 

MARI

Afișați numai directoare cu TreeÎn cazul în care doriți ca Tree să genereze doar intrările din director, va fi posibil să o faceți folosind parametrul -d astfel:

 copac -d 

MARI

Vizualizați calea completă a fișierelor cu TreeComanda Tree ne oferă posibilitatea de a imprima prefixul căii complete pentru fișierele din director folosind parametrul -f:

 copac -f 

MARI

Controlați dimensiunea rezultatului cu TreeÎn unele cazuri este posibil ca rezultatul generat să fie extrem de lung, arborele ne permite să controlăm adâncimea arborelui directorului pentru ieșirea acestuia, pentru aceasta trebuie să folosim parametrul -L care necesită o valoare numerică care indică adâncimea permisă a directorului:

 copac -d -L 2 

MARI

Folosiți nume selective cu TreeCu parametrul -l va fi posibil să excludem anumite cuvinte din rezultatele generate de Tree, de exemplu, putem executa următoarea linie pentru a genera rezultate, dar fără termenul Android:

 copac -d -I * Android 

MARI

11. Parametrii de utilizat cu comanda Tree în Linux

Parametrii de utilizat cu TreeApoi, Solvetic va explica parametrii disponibili de utilizat cu Tree:

  • -a: Imprimați toate fișierele, amintiți-vă că în mod implicit arborele nu tipărește fișierele ascunse.
  • -d: Listează numai directoarele.
  • -l: Continuați legăturile simbolice dacă indică directoare, pretinzând a fi directoare.
  • -f: Imprimați prefixul căii complete a obiectelor.
  • -x: Rămâne numai în sistemul de fișiere curent.
  • -L Level: vă permite să definiți adâncimea maximă de afișare a arborelui directorului în rezultat.
  • -R: Acționează recursiv traversând arborele din directoarele fiecărui nivel și în fiecare dintre ele se va executa. copacul din nou prin adăugarea `-o 00Tree.html '.
  • -Sablon P: Listează numai fișierele care se potrivesc cu modelul wildcard.
  • -Sablon I: Nu enumerați fișierele care se potrivesc cu modelul wildcard.
  • --matchdirs. Această opțiune specifică un model de potrivire care permite modelului să se aplice numai la numele directorilor.
  • --prune: Acest parametru elimină directoarele goale din ieșire.
  • --noreport: Omiteți tipărirea fișierului și a raportului de director la sfârșitul listei arborelui executat.

Opțiuni generale pentru arboreAcestea sunt opțiunile generale Tree disponibile, dar avem și parametri exclusivi pentru fișiere, aceștia sunt:

  • -q: Imprimați caractere neprimabile în nume de fișiere.
  • -N: tipărește caractere neprimabile.
  • -Q: Funcția sa este de a atribui numele fișierelor între ghilimele duble.
  • -p: Tipăriți tipul de fișier și permisiunile pentru fiecare fișier din director.
  • -u: Imprimați numele de utilizator sau UID-ul fișierului.
  • -s: Imprimați dimensiunea fiecărui fișier în octeți, precum și numele acestuia.
  • -g Imprimați numele grupului sau GID al fișierului.
  • -h: Funcția sa este de a imprima dimensiunea fiecărui fișier într-un mod citibil de către om.
  • --du: acționează asupra fiecărui director generând un raport asupra dimensiunii sale, inclusiv dimensiunile tuturor fișierelor și subdirectoarelor sale.
  • --si: Folosește puteri de 1000 (unități SI) pentru a afișa dimensiunea fișierului.
  • -D: Tipărește data ultimei modificări a fișierelor.
  • -F: Sarcina dvs. este să adăugați un „/” pentru directoare, un „=” pentru fișierele socket, un „*” pentru fișierele executabile, un „> pentru uși (Solaris) și un„ | ” pentru FIFO.
  • --inodes: Imprimați numărul inode al fișierului sau directorului.
  • --device: Imprimați numărul dispozitivului la care aparține fișierul sau directorul în ieșire.
  • -v: Sortează ieșirea după versiune.
  • -U: Nu comandă rezultatele.
  • -r: Sortează ieșirea în ordine inversă.
  • -t: Sortează rezultatele pe baza ultimei modificări în loc de alfabetic.
  • -S: activează diagrame CP437
  • -n: Dezactivează colorarea rezultatului.
  • -C: activează colorarea.
  • -X: activează ieșirea XML.
  • -J: Activați ieșirea JSON.
  • -H baseHREF: Activează ieșirea HTML, inclusiv referințele HTTP.
  • --help: Accesați ajutorul Tree.
  • --version: Afișează versiunea utilizată a comenzii Tree.

Cu ajutorul acestor două comenzi a fost posibil să se administreze într-un mod mult mai cuprinzător fiecare sarcină care trebuie efectuată pe fișierele din Linux, completând sarcinile de căutare sau gestionare pe acestea și accesând rezultate cuprinzătoare, după caz.

wave wave wave wave wave