Hur man använder Grep -kommando och Tree Linux -exempel

Ett av de mest mångsidiga operativsystemen att hantera via terminalen är utan tvekan Linux i någon av dess tillgängliga distributioner och detta tack vare integrationen av många kommandon som finns tillgängliga i konsolen. Det spelar ingen roll om vi använder ett terminalbaserat system (som serverversionerna) eller en GUI-baserad miljö (som skrivbordsversionerna), i dem alla kommer terminalen och dess kommandon alltid att vara en tillförlitlig källa för hantering och Stöd.

Inom våra dagliga aktiviteter finns skapande och redigering av mappar och filer, som kan vara många beroende på vilken roll som spelas. Detta vid något tillfälle är normalt att det på ett eller annat sätt påverkar sökandet efter element negativt inte bara av antalet filer utan också av platsen där de är värd.

För att hjälpa till att hantera denna typ av aktiviteter på ett mycket enklare sätt har vi två viktiga kommandon för både sökning och visning av objekt i Linux och det är Grep- och Tree -kommandona. Solvetic kommer att förklara i detalj deras användning och hur de kan tillämpas på ett omfattande sätt i den Linux -distribution som vi använder.

1. Vad är GREP -kommandot

Vad är Grep -kommandotGrep är ett kommando som utvecklats för att utföra textsökningsuppgif.webpter, Grep ansvarar för sökning i filen som vi anger raderna där en matchning upptäcks antingen med orden eller strängen som vi tilldelar under utförandet av detta. Dess namn härrör från UNIX -redigeraren g / re / p. Under körningen av Grep kommer det att vara möjligt att ange ett filnamn eller det är möjligt att lämna standardinmatningen, så Grep ansvarar för att generera matchande rader.

Grep -variablerDet finns tre (3) variabler som hanteras under Grep -processen som är:

  • -G, --basic-regexp: detta är ansvarigt för att tolka mönstret som ett grundläggande regeluttryck, det är standardvärdet.
  • -E, --extended-regexp: Det här alternativet gäller mönstret som ett utökat reguljärt uttryck.
  • -F, --fixed-strings: med det här alternativet tolkas mönstret som en lista över fasta teckensträngar, åtskilda av radbrytningar där matchningen finns i någon av dem.

Grep -kommandot (Global Regular Expression Print) är ett kommando som gör att vi kan analysera systemet för att hitta matchningarna och när de väl upptäckts fortsätter att skriva ut resultaten så att det är möjligt att centralt hantera dessa resultat.

Grep -syntaxSyntaxen för att använda kommandot Grep är följande:

 grep (Alternativ) Mönster (fil) 

Grep -kommandoparametrarDet finns en serie parametrar som vi kan använda med grep -kommandot för att få bästa resultat, dessa är:

  • -E, --extended-regexp: Mönster förstås som reguljära uttryck
  • -F, --fixed-strings: Mönster är strängar
  • -G, --basic-regexp: Mönster är grundläggande reguljära uttryck
  • -P, --perl-regexep: Mönster är Perl-uttryck
  • -e, regexp = MÖNSTER: Sök efter mönster för matchningar
  • -F. -fil (fil): Använd mönster som fil
  • -i, --ignore-case: Ignorera versaler
  • -w, --word-regexp: Matcha alla samma ord
  • -x, --line-regexp: Matcha alla rader
  • -s, --no-meddelanden: Ta bort felmeddelanden
  • -v, --invert-match: Välj de rader som inte matchar sökkriterierna
  • -V, --version: Visa den använda grep -versionen
  • -m, --max-count = NUM: Sluta söka efter ett visst antal rader
  • -b, --byte-offset = Visa byteförskjutningen bredvid utgångslinjerna
  • -n, --line-number: Skriv ut antalet rader
  • -H, --med -filnamn: visa filnamnet på utmatningsraderna
  • -q, --quiet: Undertryck alla resultat
  • -d, --directories = Åtgärd: Anger hur kataloger hanteras
  • -l, --files-without-match = Skriv bara ut filnamn utan rader
  • -c, --count: Skriv ut markerade rader per fil

Jag har inget Grep -kommandoKommandot grep är som standard i Linux -distributioner, men om du av någon anledning inte har det kan du installera det med följande kommandon:

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

Steg 1
Den allmänna syntaxen, som kan innehålla flera parametrar, är följande:

 grep [-AB] num] [-CEFGVbchiLlnqsvwxyUu] [[-e] mönster | -f fil] [--extended-regexp] [--fixed-strings] [--basic-regexp] [--regexp = PATTERN] [--file = FILE] [--ignore-case] [--word -regexp] [--line-regexp] [--line-regexp] [--no-messages] [--invert-match] [--version] [--hjälp] [--byte-offset] [- -linjenummer] [--med filnamn] [-inget filnamn] [-tyst] [-tyst] [-filer-utan-match] [-filer-med-matcces] [-antal ] [--before- context = NUM] [--after-context = NUM] [--context] [--binary] [--unix-byte-offsets] filer … 
Steg 2
Vi kommer att se några exempel på att använda Grep innan vi känner till dess parametrar. Om vi ​​vill söka i / etc / passwd -katalogen efter allt som rör en viss användare kan vi utföra följande:
 grep "användare" / etc / passwd 
Steg 3
Resultatet blir följande:

Steg 4
Det kommer också att vara möjligt att tvinga kommandot Grep att ignorera stora och små bokstäver, det vill säga att tillåta matchande solvetic, Solvetic eller SOLVETIC tillsammans med alla kombinationer med parametern -i:

 grep -i "solvetic" / etc / passwd 

Steg 5
Detta alternativ kan också köras med hjälp av cat -kommandot så här:

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

2. Exempel på användning av kommandot Grep


Användningen av kommandon i Linux -operativsystem är en obligatorisk uppgif.webpt för alla IT -administratörer och användare eftersom vi tack vare dem kan utföra hundratals administrativa, informations- och supportuppgif.webpter. Det finns många kommandon, var och en med sina egna kriterier och funktioner, men en av dem speciell för att söka efter text i filer som finns i kataloger eller mappar är Grep -kommandot.

Nu ska vi se hur man använder kommandot Grep i Linux.

Hur man använder Grep i allmänhetFör att förstå hur Grep fungerar, kommer vi att söka i / etc / passwd -katalogen efter alla resultat som är associerade med vår användare:

 grep solvetic / etc / passwd 
Som ett resultat kommer vi att se följande:

Som en ytterligare punkt, låt oss komma ihåg att det är möjligt att berätta för grep att ignorera stora och små bokstäver i resultaten, för detta utför vi följande:

 grep -i "solvetic" / etc / passwd 

Grep är perfekt för att söka efter specifika termer i kända filer, låt oss till exempel köra följande sökning:

 grep Solvetic Solvetic.txt 
Som ett resultat kommer vi att se raderna där ordet upprepas:

Vi kan söka efter samma term i olika filer samtidigt, för detta kommer vi att använda följande rad:

 grep Solvetic Solvetic.txt Solvetic1.txt 

Ett kortare sätt att göra detta är genom att köra följande:

 grep solvetic *. * 

Hur man använder grep för att omdirigera resultat till en fil på LinuxDetta är användbart för fall där vi måste utföra administrationsuppgif.webpter på filerna senare, så det är möjligt att omdirigera utdata från grep -kommandot till en specifik fil, till exempel kommer vi att göra följande:

 grep Solvetic Solvetic.txt> Solvetic2.txt 
Som ett resultat kommer vi att se att den nödvändiga textfilen har skapats:

FÖRSTORA

Hur man använder grep för att söka i katalogerTack vare parametern -r kommer vi att kunna söka efter ett värde i de tillgängliga underkatalogerna, vi kommer att utföra följande:

 grep -r Solvetic / home / solvetic 
Detta kommer att söka i hela hemkatalogen efter termen som markerar de upptäckta resultaten:

Hur man använder grep för att visa radnummerFör granskning eller avancerade supportuppgif.webpter är det idealiskt att visa numret på raden där sökmönstret finns, för detta kan vi använda parametern -n enligt följande. Där hittar vi numret på raden där varje värde finns.

 grep -n Solvetic Solvetic.txt 

Hur man använder grep för att markera resultatEftersom vi vet att texten kan bli förvirrande många gånger, är en lösning att markera sökkriterierna som fokuserar vår syn direkt på den raden, för detta använder vi färgparametern så här:

 grep -färg Solvetic Solvetic.txt 

Hur man använder grep för att visa linjer som börjar eller slutar med det angivna mönstretDet är möjligt att vi bara vill se resultaten av raderna som börjar eller slutar med ett sökkriterium, för detta, om vi vill söka efter raderna som börjar, kommer vi att använda följande rad:

 grep Solvetic Solvetic.txt 

För att visa raderna som slutar använder vi följande:

 grep Solvetic $ Solvetic.txt 

Hur man använder grep för att skriva ut alla rader utan att se vilka som matcharOm vi ​​vill se alla rader utom de där värdet söks efter måste vi använda parametern -v så här:

 grep -v Solvetic Solvetic.txt 

Hur man använder grep med andra kommandonGrep, som många Linux -kommandon, kan användas samtidigt med andra kommandon för tydligare resultat, till exempel, om vi vill distribuera HTTP -processer kommer vi att använda grep tillsammans med ps enligt följande:

 ps -ef | grep http 

Hur man använder grep för att räkna hur mycket ett ord upprepas i en filOm vi ​​vill veta hur många gånger ett mönster upprepas i en viss fil, använder vi parametern -c:

 grep -c Solvetic Solvetic.txt 

Hur man använder grep för att göra en omvänd uppslagningÄven om det låter konstigt, är detta inget annat än att visa orden som vi inte specificerar i resultatet, vi uppnår detta med parametern -v:

 grep -v Solvetic Solvetic2.txt

Hur man använder grep för att visa hårdvaruinformationVi har tidigare sett att vi kan kombinera grep med andra kommandon för att visa ett resultat, ja, om vi vill få specifika hårdvarudetaljer kan vi använda cat med grep så här:

 cat / proc / cpuinfo | grep -i 'Modell' 

Vi har globalt lärt oss användningen som grep -kommandot ger oss för att komma åt mycket mer specifika resultat av sökkriterier i Linux.

3. Hur man använder Grep Linux -kommando rekursivt

Steg 1
Grep ger oss möjlighet att utföra en rekursiv sökning, det vill säga att denna sökning läser alla filer i varje katalog för en specifik sträng, till exempel datorns IP -adress, vi kan utföra något av följande alternativ:

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

NoteraDär kan vi ange den aktuella IP -adressen för den utrustning som används.

Steg 2
Vi kan också utföra samma sak med IP 192.168.1.5 som systemet använder för standardutgångar:

Steg 3
Vi kan märka att med båda IP -adresserna visas en separat rad före namnet på filen där den upptäcktes, om vi vill eliminera inkluderingen av detta värde kommer det att vara möjligt att undertrycka det med alternativet -h så här:

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

NoteraDetta kommando måste köras som root eller genom att förbereda sudo för kommandot.

4. Hur man använder Grep Linux -kommandot för att köra ordsökningar

Steg 1
Grep är användbart för att söka termer i en viss fil, så resultatet kommer att markera varje rad där söktermen finns, liksom de ord (inte markerade) som följer med söktermen, syntaxen som ska användas är följande. I detta fall har tre matchningar upptäckts i filen Solvetic1.

 grep -w "word" -fil

Steg 2
Om vi ​​vill söka efter två termer i en fil måste vi köra följande syntax med egrep -kommandot. Som vi kan se kommer de sökta orden att markeras i resultatet.

 egrep -w 'term1 | term2' fil 

5. Hur man använder Grep Linux -kommandot för att räkna ord

Steg 1
Ett annat av Greps praktiska alternativ är möjligheten att veta hur många gånger ett ord upprepas i en specifik fil, detta uppnås tack vare -c -parametern så här:

 grep -c 'word' -fil 

Steg 2
Alternativt kan vi använda parametern -n för att föregå varje utgångsrad med numret på raden som den anges i den valda filen:

 grep -n 'word' -fil 

6. Hur man tvingar omvänd sökning Grep Linux -kommando


Med omvänd sökning menar vi att kommandot Grep bara visar resultat från de raderna som inte innehåller det definierade ordet, detta uppnås med -v -parametern så här:
 grep -v "term" -fil 

7. Hur man använder UNIX / Linux -rör tillsammans med kommandot Grep

Steg 1
Grep -kommandot i Linux kan kombineras med UNIX -skalrör, till exempel, om vi vill lista namnet på hårddiskenheterna kör vi följande rad:

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

Steg 2
Där kommer resultaten att visas med all respektive information. För att visa CPU -modellen kör vi:

 cat / proc / cpuinfo | grep -i 'Modell' 

Steg 3
För samma resultat kan vi också utföra följande:

 grep -i 'Model' / proc / cpuinfo 
Steg 4
En av de mest speciella användningarna av kommandot Grep eller egrep är möjligheten att filtrera utmatningen från traditionella kommandon som yum, dpkg, apt eller apt-get. Till exempel kan vi köra följande rad för att hitta Linux -bilder med dpkg:
 dpkg --list | grep linux-image 

Steg 5
Det blir möjligt att köra sökningen med apt:

 lämplig sökning maria | egrep 'server | klient' 

8. Så här listar du bara filnamnen som matchar Grep


För detta ändamål kan vi använda alternativet -l för att lista namnet på filen där dess innehåll kommer att markeras så här:
 grep -l 'term' * .c 
Grep -kommandoparametrarDärefter kommer vi att se de olika variablerna som Grep erbjuder oss för sin hantering i Linux:

  • -num: Med det här alternativet kommer matchande rader att ligga bredvid föregående och efterföljande radnummer.
  • -A num, --after-context = NUM: Visar antalet kontextrader efter att de matchat de angivna.
  • -B num, --before-context = NUM: Om du använder det här alternativet visas kontextraderna före de som matchar sökningen.
  • -V, --version: Visa versionsnumret på grep som används.
  • -b, --byte-offset: Denna parameter visar förskjutningen i byte från början av inmatningsfilen före varje rad i dess utmatning.
  • -c, --count: Räkna antalet rader som matchar den angivna termen.
  • -h, --no-filnamn: Undertryck utskrift av filnamn i utdata.
  • i, --ignore-case: Det tar inte hänsyn till om bokstäverna är stora eller små.
  • -L, --files-without-match: Det här alternativet visar namnet på varje inmatningsfil där ingen matchning hittas.
  • -l, --files-with-matches: Visa namnet på varje inmatningsfil som kan generera ett resultat.
  • -n, --line-number: Kartlägger varje utdatarad med respektive radnummer i sökfilen.
  • -q, --quiet: Aktivera tyst läge som undertrycker normal utmatning och sökningen avslutas vid den första matchen.
  • -s, --silent: Undertryck felmeddelanden.
  • -v, --invert-match: Det här alternativet vänder sökriktningen, det vill säga det visar de resultat som inte matchar söktermen.
  • w, --word-regexp: Denna parameter väljer bara rader som innehåller matchningar som utgör hela ord.
  • -x, --line-regexp: Det här alternativet väljer endast matchningar som består av hela raden.

9. Hur man använder och installerar Tree -kommandot i Linux


Nu ska vi prata lite om kommandot Tree, som namnet indikerar, det har utvecklats för att visa systemkatalogerna i form av ett träd, vilket underlättar deras hantering.

Trädkommandot fungerar med ett rekursivt katalogförteckningskommando som resulterar i ett trädformat som är utformat med en serie färger endast om miljövariabeln LS_COLORS är inställd och utmatningen är tty, om inga argument tilldelas kommer detta kommando att lista filerna i den aktuella katalogen.

Steg 1
Dess allmänna syntax är följande:

 träd [-acdfghilnpqrstuvxACDFQNSUX] [-L nivå [-R]] [-H basHREF] [-T titel] [-o filnamn] [--nolänkar] [-P mönster] [-I mönster] [--inoder] [ --enhet] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format ] [--matchdirs] [-] [katalog …] 
Steg 2
Det första steget är att installera Tree -kommandot genom att köra följande kommando:
 sudo apt installera träd 

Steg 3
Efter installationen kör vi direkt kommandot "träd" för att lista den aktuella katalogen i trädformat:

10. Hur man arbetar med filer med kommandot Tree i Linux

Visa dolda filer med TreeSom standard kommer Tree -kommandot inte att visa dolda filer av säkerhetsskäl, om vi vill se dem i resultatet blir det möjligt att lägga till -a -parametern för detta ändamål:

 träd -a 

FÖRSTORA

Visa bara kataloger med TreeOm du vill att Tree bara ska generera katalogposterna är det möjligt att göra det med parametern -d så här:

 träd -d 

FÖRSTORA

Se hela sökvägen till filerna med TreeKommandot Tree ger oss möjlighet att skriva ut prefixet för hela sökvägen för filerna i katalogen med -f -parametern:

 träd -f 

FÖRSTORA

Styr dimensionens resultat med TreeI vissa fall är det möjligt att det genererade resultatet är extremt långt, träd tillåter oss att kontrollera djupet på katalogträdet för dess utmatning, för detta måste vi använda -L -parametern som kräver ett numeriskt värde som anger det tillåtna katalogdjupet:

 träd -d -L 2 

FÖRSTORA

Använd selektiva namn med TreeMed parametern -l är det möjligt att utesluta vissa ord från resultaten som genereras av Tree, till exempel kan vi köra följande rad för att generera resultat, men utan termen Android:

 tree -d -I * Android 

FÖRSTORA

11. Parametrar som ska användas med kommandot Tree i Linux

Parametrar att använda med TreeDärefter kommer Solvetic att förklara tillgängliga parametrar som ska användas med Tree:

  • -a: Skriv ut alla filer, kom ihåg att trädet som standard inte skriver ut dolda filer.
  • -d: List bara katalogerna.
  • -l: Fortsätt med symboliska länkar om de pekar på kataloger och låtsas vara kataloger.
  • -f: Skriv ut prefixet för objektens hela sökväg.
  • -x: Förblir bara på det nuvarande filsystemet.
  • -L -nivå: låter dig definiera det maximala visningsdjupet för katalogträdet i resultatet.
  • -R: Det fungerar rekursivt genom att korsa trädet i katalogerna på varje nivå och i var och en av dem kommer det att köras. trädet igen genom att lägga till `-o 00Tree.html '.
  • -P -mönster: Lista bara filer som matchar jokerteckenmönstret.
  • -I -mönster: Visa inte filerna som matchar jokerteckenmönstret.
  • -matchdir. Det här alternativet anger ett matchande mönster som gör att mönstret endast kan gälla katalognamn.
  • --prune: Denna parameter tar bort tomma kataloger från utdata.
  • --noreport: Hoppa över utskriften av filen och katalograpporten i slutet av listan över det körda trädet.

Trädets allmänna alternativDet här är de allmänna trädalternativen som är tillgängliga, men vi har också exklusiva parametrar för filerna, dessa är:

  • -q: Skriv ut icke-skrivbara tecken i filnamn.
  • -N: Skriver ut tecken som inte går att skriva ut.
  • -Q: Dess funktion är att tilldela filnamnen i dubbla citattecken.
  • -p: Skriv ut filtyp och behörigheter för varje fil i katalogen.
  • -u: Skriv ut användarnamnet eller UID för filen.
  • -s: Skriv ut storleken på varje fil i byte och dess namn.
  • -g Skriv ut gruppens namn eller GID för filen.
  • -h: Dess funktion är att skriva ut storleken på varje fil på ett läsbart sätt.
  • --du: Handla om varje katalog som genererar en rapport om dess storlek inklusive storleken på alla dess filer och underkataloger.
  • --si: Använder befogenheter på 1000 (SI-enheter) för att visa filstorleken.
  • -D: Skriver ut datumet för den senaste ändringen av filerna.
  • -F: Din uppgif.webpt är att lägga till en '/' för kataloger, a '=' för socketfiler, en '*' för körbara filer, a '>' för dörrar (Solaris) och en '|' för FIFO: er.
  • --inoder: Skriv ut inodnumret för filen eller katalogen.
  • --enhet: Skriv ut enhetsnumret som filen eller katalogen tillhör i utdata.
  • -v: Sortera utdata efter version.
  • -U: Beställer inte resultaten.
  • -r: Sortera utmatningen i omvänd ordning.
  • -t: Sortera resultaten baserat på den senast ändrade tiden istället för alfabetiskt.
  • -S: Aktiverar CP437 -linjediagram
  • -n: Inaktiverar färgläggningen av resultatet.
  • -C: Aktiverar färgläggningen.
  • -X: Aktiverar XML -utdata.
  • -J: Aktivera JSON -utgång.
  • -H baseHREF: Aktiverar HTML -utdata, inklusive HTTP -referenser.
  • --hjälp: Åtkomst till Tree-hjälp.
  • --version: Visar den använda versionen av kommandot Tree.

Med hjälp av dessa två kommandon var det möjligt att på ett mycket mer omfattande sätt administrera varje uppgif.webpt som ska utföras på filerna i Linux, komplettera sök- eller hanteringsuppgif.webpterna på dem och få tillgång till omfattande resultat efter behov.

wave wave wave wave wave