Jak používat příkaz Grep a příklady Tree Linux

Jedním z nejvšestrannějších operačních systémů pro správu prostřednictvím terminálu je bezpochyby Linux v jakékoli z jeho dostupných distribucí, a to díky integraci mnoha příkazů dostupných v jeho konzole. Nezáleží na tom, zda používáme systém založený na terminálu (jako verze serverů) nebo prostředí založené na GUI (jako verze pro stolní počítače), ve všech bude terminál a jeho příkazy vždy spolehlivým zdrojem správy a Podpěra, podpora.

V rámci našich každodenních činností je vytváření a úpravy složek a souborů, kterých může být mnoho v závislosti na roli, kterou hrají. V určitém okamžiku podpory je normální, že tak či onak negativně ovlivňuje vyhledávání prvků nejen podle počtu souborů, ale také podle umístění, kde jsou hostovány.

Abychom mohli tyto typy aktivit spravovat mnohem jednodušeji, máme dva základní příkazy pro vyhledávání i prohlížení objektů v Linuxu a jsou to příkazy Grep a Tree. Solvetic podrobně vysvětlí jejich použití a jak je komplexně aplikovat v námi používané linuxové distribuci.

1. Co je to příkaz GREP

Co je příkaz GrepGrep je příkaz vyvinutý za účelem provádění úloh textového vyhledávání, Grep má na starosti vyhledávání v souboru, kde označujeme řádky, kde je detekována shoda, buď se slovy, nebo s řetězcem, který přiřadíme během provádění tohoto. Jeho název je odvozen z editoru UNIX g / re / p. Během provádění Grepu bude možné uvést název souboru nebo je možné opustit standardní vstup, takže Grep má na starosti generování odpovídajících řádků.

Proměnné GrepBěhem procesu Grep jsou spravovány tři (3) proměnné, které jsou:

  • -G, --basic-regexp: toto je zodpovědné za interpretaci vzoru jako základního regulárního výrazu, je to výchozí hodnota.
  • -E, --extended-regexp: Tato volba validuje vzor jako rozšířený regulární výraz.
  • -F, --fixované řetězce: s touto volbou je vzor interpretován jako seznam pevných řetězců znaků, oddělených zalomením řádků, kde bude shoda nalezena v kterémkoli z nich.

Příkaz Grep (Global Regular Expression Print) je příkaz, který nám umožní analyzovat systém, najít shody a po zjištění pokračovat v tisku výsledků, aby bylo možné tyto výsledky centrálně spravovat.

Grep syntaxeSyntaxe pro použití příkazu Grep je následující:

 grep (Volitelně) Pattern (soubor) 

Parametry příkazu GrepAbychom dosáhli nejlepších výsledků, můžeme s příkazem grep použít řadu parametrů, jsou to tyto:

  • -E, --extended-regexp: Vzory jsou chápány jako regulární výrazy
  • -F, --fixované řetězce: Vzory jsou řetězce
  • -G, --basic-regexp: Vzory jsou základní regulární výrazy
  • -P, --perl-regexep: Vzory jsou výrazy Perl
  • -e, regexp = VZORY: Hledání vzorů pro shody
  • -F. -soubor (Soubor): Jako vzor použijte vzory
  • -i, --ignore-case: Ignorovat velká písmena
  • -w, --word-regexp: Spojte všechna stejná slova
  • -x, --line-regexp: Porovná všechny řádky
  • -s, --no-messages: Odstraňte chybové zprávy
  • -v, --invert-match: Vyberte řádky, které neodpovídají kritériím vyhledávání
  • -V, --version: Zobrazí použitou verzi grep
  • -m, --max-count = NUM: Zastavit hledání po zadaném počtu řádků
  • -b, --byte-offset = Zobrazí offset bajtů vedle výstupních řádků
  • -n, --line-number: Vytiskne počet řádků
  • -H, --with-název_souboru: zobrazí název souboru na výstupních řádcích
  • -q, --quiet: Potlačí všechny výsledky
  • -d, --directories = Akce: Udává, jak jsou zpracovávány adresáře
  • -l, --files-without-match = Tisk pouze názvů souborů bez řádků
  • -c, --count: Tisk vybraných řádků na soubor

Nemám příkaz GrepPříkaz grep je ve výchozím nastavení v distribucích Linuxu, ale pokud jej z nějakého důvodu nemáte, můžete jej nainstalovat pomocí následujících příkazů:

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

Krok 1
Obecná syntaxe, která může obsahovat více parametrů, je následující:

 grep [-AB] num] [-CEFGVbchiLlnqsvwxyUu] [[-e] vzor | -f soubor] [--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-číslo] [-s názvem souboru] [-bez názvu souboru] [-tichý] [-tichý] [--soubory-bez shody] [--soubory-s-maticemi] [-počet ] [--before- context = NUM] [--after-context = NUM] [--context] [--binary] [--unix-byte-offsets] soubory … 
Krok 2
Než budeme znát jeho parametry, uvidíme několik příkladů použití Grepu. Pokud chceme v adresáři / etc / passwd vyhledat vše, co souvisí s konkrétním uživatelem, můžeme provést následující:
 grep "uživatel" / etc / passwd 
Krok 3
Výsledkem bude následující:

Krok 4
Rovněž bude možné vynutit, aby příkaz Grep ignoroval velká a malá písmena, tj. Umožnil odpovídající solvetic, Solvetic nebo SOLVETIC spolu se všemi kombinacemi pomocí parametru -i:

 grep -i "solvetic" / etc / passwd 

Krok 5
Tuto možnost lze také provést pomocí příkazu cat takto:

 kočka / etc / passwd | grep -i "solvetic" 

2. Příklady použití příkazu Grep


Použití příkazů v operačních systémech Linux je povinným úkolem pro všechny IT administrátory a uživatele, protože díky nim můžeme provádět stovky administrativních, informačních a podpůrných úkolů. Existuje mnoho příkazů, z nichž každý má svá vlastní kritéria a funkce, ale jedním z nich, který je speciální pro vyhledávání textu v souborech umístěných v adresářích nebo složkách, je příkaz Grep.

Nyní uvidíme, jak používat příkaz Grep v Linuxu.

Jak používat Grep obecněAbychom pochopili, jak Grep funguje, budeme hledat v adresáři / etc / passwd všechny výsledky spojené s naším uživatelem:

 grep solvetic / etc / passwd 
V důsledku toho uvidíme následující:

Jako další bod si pamatujme, že je možné říct grep, aby ve výsledcích ignoroval velká a malá písmena, proto provedeme následující:

 grep -i "solvetic" / etc / passwd 

Grep je ideální pro vyhledávání konkrétních výrazů ve známých souborech, například spustíme následující vyhledávání:

 grep Solvetic Solvetic.txt 
V důsledku toho uvidíme řádky, kde se toto slovo opakuje:

Můžeme hledat stejný termín v různých souborech současně, použijeme k tomu následující řádek:

 grep Solvetic Solvetic.txt Solvetic1.txt 

Kratší způsob, jak to udělat, je spustit následující:

 grep solvetic *. * 

Jak použít grep k přesměrování výsledků do souboru v LinuxuTo je užitečné v případech, kdy musíme později provádět administrativní úlohy na souborech, takže je možné přesměrovat výstup příkazu grep na konkrétní soubor, například provedeme následující:

 grep Solvetic Solvetic.txt> Solvetic2.txt 
V důsledku toho uvidíme, že byl vytvořen požadovaný textový soubor:

ZVĚTŠIT

Jak používat grep k prohledávání adresářůDíky parametru -r budeme moci vyhledat hodnotu v dostupných podadresářích, provedeme následující:

 grep -r Solvetic / home / solvetic 
Tím se v celém domovském adresáři vyhledá výraz zvýrazňující zjištěné výsledky:

Jak použít grep k zobrazení čísla řádkuPro auditování nebo pokročilé úlohy podpory je ideální zobrazit číslo řádku, kde se nachází vzor hledání, k tomu můžeme použít parametr -n následujícím způsobem. Tam najdeme číslo řádku, kde se nachází každá hodnota.

 grep -n Solvetic Solvetic.txt 

Jak použít grep ke zvýraznění výsledkůProtože víme, že text může být mnohokrát matoucí, řešením je zvýraznit vyhledávací kritéria, která zaměřují náš pohled přímo na tento řádek, a proto použijeme parametr barvy takto:

 grep -color Solvetic Solvetic.txt 

Jak použít grep k zobrazení řádků, které začínají nebo končí uvedeným vzoremJe možné, že chceme vidět pouze výsledky řádků, které začínají nebo končí hledacími kritérii, a pokud chceme hledat řádky, které začínají, použijeme následující řádek:

 grep Solvetic Solvetic.txt 

Nyní k zobrazení řádků, které končí, použijeme následující:

 grep Solvetic $ Solvetic.txt 

Jak použít grep k tisku všech řádků, aniž byste viděli, které se shodujíPokud chceme vidět všechny řádky kromě těch, kde je hodnota hledána, musíme použít parametr -v takto:

 grep -v Solvetic Solvetic.txt 

Jak používat grep s jinými příkazyGrep, stejně jako mnoho příkazů Linuxu, lze použít současně s jinými příkazy pro jasnější výsledky, například pokud chceme nasadit procesy HTTP, použijeme grep společně s ps následujícím způsobem:

 ps -ef | grep http 

Jak pomocí grep spočítat, jak moc se slovo v souboru opakujePokud chceme vědět, kolikrát se vzor v určitém souboru opakuje, použijeme parametr -c:

 grep -c Solvetic Solvetic.txt 

Jak použít grep k zpětnému vyhledáváníAčkoli to zní divně, nejde o nic jiného než o zobrazení slov, která ve výsledku nespecifikujeme, docílíme toho pomocí parametru -v:

 grep -v Solvetic Solvetic2.txt

Jak použít grep k zobrazení podrobností o hardwaruUž jsme viděli, že můžeme kombinovat grep s jinými příkazy pro zobrazení výsledku, pokud chceme získat konkrétní hardwarové detaily, můžeme použít cat s grep takto:

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

Globálně jsme se naučili používání, které nám příkaz grep umožňuje přístup k mnohem konkrétnějším výsledkům vyhledávacích kritérií v Linuxu.

3. Jak rekurzivně používat příkaz Grep Linux

Krok 1
Grep nám dává možnost provést rekurzivní vyhledávání, to znamená, že toto vyhledávání přečte všechny soubory v každém adresáři pro konkrétní řetězec, například IP adresu počítače, můžeme spustit libovolnou z následujících možností:

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

PoznámkaZde můžeme zadat aktuální IP adresu používaného zařízení.

Krok 2
Totéž můžeme provést také s IP 192.168.1.5, kterou systém používá pro standardní výstupy:

Krok 3
Můžeme si všimnout, že u obou IP adres je zobrazen samostatný řádek, kterému předchází název souboru, ve kterém byl detekován, pokud chceme vyloučit zahrnutí této hodnoty, bude možné ji potlačit pomocí volby -h takhle:

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

PoznámkaTento příkaz musí být spuštěn jako root nebo předponou sudo k příkazu.

4. Jak používat příkaz Grep Linux ke spouštění hledání slov

Krok 1
Grep je užitečný pro hledání výrazů v určitém souboru, takže výsledek se zobrazí zvýrazněným způsobem na každém řádku, kde se hledaný výraz nachází, stejně jako slova (nezvýrazněná), která doprovázejí hledaný výraz, přičemž syntaxe, kterou chcete použít, je následující. V tomto případě byly v souboru Solvetic1 zjištěny 3 shody.

 grep -w soubor "slovo"

Krok 2
V případě, že chceme v souboru hledat dva výrazy, musíme provést následující syntaxi pomocí příkazu egrep. Jak vidíme, hledaná slova budou ve výsledku zvýrazněna.

 soubor egrep -w 'term1 | term2' 

5. Jak používat příkaz Grep Linux k počítání slov

Krok 1
Další z praktických možností Grepu je možnost vědět, kolikrát se slovo opakuje v konkrétním souboru, čehož je dosaženo díky parametru -c, jako je tento:

 grep -c 'slovo' soubor 

Krok 2
Alternativně můžeme použít parametr -n před každý výstupní řádek s číslem řádku, ve kterém je zadán ve vybraném souboru:

 grep -n 'slovo' soubor 

6. Jak vynutit zpětné vyhledávání Příkaz Grep Linux


Zpětným vyhledáváním myslíme, že příkaz Grep zobrazí pouze výsledky z řádků, které neobsahují definované slovo, čehož je dosaženo pomocí parametru -v takto:
 grep -v "term" soubor 

7. Jak používat UNIX / Linux Pipes společně s příkazem Grep

Krok 1
Příkaz Grep v Linuxu lze zkombinovat s shellem UNIX, například pokud chceme vypsat název zařízení na pevném disku, spustíme následující řádek:

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

Krok 2
Tam se zobrazí výsledky se všemi příslušnými informacemi. Chcete -li zobrazit model CPU, spusťte:

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

Krok 3
Pro stejný výsledek můžeme také provést následující:

 grep -i 'Model' / proc / cpuinfo 
Krok 4
Jedním z nejzvláštnějších použití příkazu Grep nebo egrep je schopnost filtrovat výstup tradičních příkazů, jako jsou yum, dpkg, apt nebo apt-get. Například můžeme spustit následující řádek a najít obrázky Linuxu s dpkg:
 dpkg -seznam | grep linux-image 

Krok 5
Hledání bude možné spustit pomocí apt:

 vhodné hledání maria | egrep 'server | klient' 

8. Jak vypsat pouze názvy souborů, které odpovídají Grepu


Za tímto účelem můžeme použít volbu -l, abychom vypsali název souboru, ve kterém bude jeho obsah zvýrazněn takto:
 grep -l 'termín' * .c 
Parametry příkazu GrepDále uvidíme různé proměnné, které nám Grep nabízí pro správu v Linuxu:

  • -num: S touto volbou budou odpovídající řádky vedle čísel předchozích a následujících řádků.
  • -A num, --after-context = NUM: Zobrazí počet kontextových řádků poté, co se shodují s uvedenými.
  • -B num, --before-context = NUM: Pomocí této možnosti se zobrazí kontextové řádky před řádky, které odpovídají vyhledávání.
  • -V, --version: Zobrazí číslo verze použitého grep.
  • -b, --byte-offset: Tento parametr zobrazuje offset v bajtech od začátku vstupního souboru před každým řádkem jeho výstupu.
  • -c, --count: Spočítejte počet řádků, které odpovídají zadanému výrazu.
  • -h, --no-název_souboru: Potlačí tisk názvů souborů ve výstupu.
  • i, --ignore-case: Nezohledňuje, zda jsou písmena velká nebo malá.
  • -L, --files-without-match: Tato možnost zobrazuje název každého vstupního souboru, kde nebyla nalezena shoda.
  • -l, --files-with-matches: Zobrazí název každého vstupního souboru, který může vygenerovat výsledek.
  • -n, --line-number: Mapuje každý řádek výstupu s příslušným číslem řádku ve vyhledávacím souboru.
  • -q, --quiet: Aktivujte tichý režim, který potlačí normální výstup, a hledání skončí při prvním shodu.
  • -s, --silent: Potlačí chybové zprávy.
  • -v, --invert-match: Tato možnost obrátí směr hledání, to znamená, že zobrazí výsledky, které neodpovídají hledanému výrazu.
  • w, --word-regexp: Tento parametr vybírá pouze řádky obsahující shody, které tvoří celá slova.
  • -x, --line-regexp: Tato možnost vybere pouze shody, které se skládají z celého řádku.

9. Jak používat a instalovat příkaz Tree v Linuxu


Nyní si povíme něco o příkazu Tree, jak naznačuje jeho název, byl vyvinut tak, aby zobrazoval adresáře systému ve formě stromu, čímž usnadňuje jejich správu.

Příkaz Tree funguje s rekurzivním příkazem pro výpis adresářů, jehož výsledkem je formát stromu navržený s řadou barev, pouze pokud je nastavena proměnná prostředí LS_COLORS a výstup je tty, v případě, že nejsou přiřazeny žádné argumenty, tento příkaz vypíše soubory v aktuální adresář.

Krok 1
Jeho obecná syntaxe je následující:

 strom [-acdfghilnpqrstuvxACDFQNSUX] [-L úroveň [-R]] [-H baseHREF] [-T název] [-o název souboru] [--nolinks] [-P vzor] [-I vzor] [--inodes] [ --device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt formát ] [--matchdirs] [-] [adresář…] 
Krok 2
Prvním krokem je instalace příkazu Tree spuštěním následujícího příkazu:
 sudo apt install strom 

Krok 3
Po instalaci přímo spustíme příkaz „strom“ pro výpis aktuálního adresáře ve stromovém formátu:

10. Jak pracovat se soubory pomocí příkazu Tree v Linuxu

Zobrazit skryté soubory pomocí TreeVe výchozím nastavení příkaz Tree nezobrazí skryté soubory z bezpečnostních důvodů, pokud je chceme zobrazit ve výsledku, bude možné pro tento účel přidat parametr -a:

 strom -a 

ZVĚTŠIT

Zobrazit pouze adresáře se stromemV případě, že chcete, aby Tree generoval pouze položky adresáře, bude možné to provést pomocí parametru -d takto:

 strom -d 

ZVĚTŠIT

Zobrazte úplnou cestu k souborům pomocí stromuPříkaz Tree nám dává možnost vytisknout předponu úplné cesty pro soubory v adresáři pomocí parametru -f:

 strom -f 

ZVĚTŠIT

Ovládejte dimenzi výsledku pomocí stromuV některých případech je možné, že generovaný výsledek je extrémně dlouhý, strom nám umožňuje řídit hloubku adresářového stromu pro jeho výstup, k tomu musíme použít parametr -L, který vyžaduje číselnou hodnotu, která udává povolenou hloubku adresáře:

 strom -d -L 2 

ZVĚTŠIT

Se stromem používejte selektivní názvyPomocí parametru -l bude možné vyloučit některá slova z výsledků generovaných stromem, například pro generování výsledků můžeme spustit následující řádek, ale bez výrazu Android:

 strom -d -I * Android 

ZVĚTŠIT

11. Parametry, které se mají použít s příkazem Tree v Linuxu

Parametry pro použití se stromemDále Solvetic vysvětlí dostupné parametry, které lze použít s Tree:

  • -a: Tisk všech souborů, mějte na paměti, že ve výchozím stromu strom netiskne skryté soubory.
  • -d: Seznam pouze adresářů.
  • -l: Pokračujte v symbolických vazbách, pokud odkazují na adresáře a předstírají, že jsou adresáři.
  • -f: Vytiskne předponu úplné cesty k objektům.
  • -x: Zůstává pouze v aktuálním systému souborů.
  • -L Úroveň: umožňuje definovat maximální hloubku zobrazení adresářového stromu ve výsledku.
  • -R: Působí rekurzivně přes strom v adresářích každé úrovně a v každé z nich se spustí. strom znovu přidáním `-o 00Tree.html '.
  • -P vzor: Seznam pouze souborů, které odpovídají zástupnému vzoru.
  • -I vzor: Neuvádějte seznam souborů, které odpovídají zástupnému vzoru.
  • -zápasníky. Tato volba určuje odpovídající vzor, ​​který umožňuje, aby se vzor vztahoval pouze na názvy adresářů.
  • --prune: Tento parametr odstraní z výstupu prázdné adresáře.
  • --noreport: Přeskočí tisk zprávy o souborech a adresářích na konci seznamu spuštěného stromu.

Obecné možnosti stromuToto jsou obecné možnosti stromu, které máme k dispozici, ale máme také exkluzivní parametry pro soubory, a to:

  • -q: Tiskne netisknutelné znaky v názvech souborů.
  • -N: Tiskne netisknutelné znaky.
  • -Q: Jeho funkcí je přiřadit názvy souborů v uvozovkách.
  • -p: Vytiskne typ souboru a oprávnění pro každý soubor v adresáři.
  • -u: Vytiskne uživatelské jméno nebo UID souboru.
  • -s: Vytiskne velikost každého souboru v bajtech a také jeho název.
  • -g Vytiskněte název skupiny nebo GID souboru.
  • -h: Jeho funkcí je vytisknout velikost každého souboru způsobem, který je čitelný pro člověka.
  • --du: Zákon o každém adresáři generuje zprávu o jeho velikosti, včetně velikostí všech jeho souborů a podadresářů.
  • --si: K zobrazení velikosti souboru používá mocniny 1000 (jednotky SI).
  • -D: Vytiskne datum poslední úpravy souborů.
  • -F: Vaším úkolem je přidat `/ 'pro adresáře, a` =' pro soubory soketu, a '*' pro spustitelné soubory, a`> 'pro dveře (Solaris) a` |' pro FIFO.
  • --inodes: Vytiskne číslo inodu souboru nebo adresáře.
  • --device: Vytiskne číslo zařízení, ke kterému soubor nebo adresář ve výstupu patří.
  • -v: Seřadit výstup podle verze.
  • -U: Neřadí výsledky.
  • -r: Seřadí výstup v opačném pořadí.
  • -t: Seřadí výsledky podle času poslední změny místo podle abecedy.
  • -S: Aktivuje liniové grafy CP437
  • -n: Deaktivuje zabarvení výsledku.
  • -C: Aktivuje barvení.
  • -X: Aktivuje výstup XML.
  • -J: Aktivujte výstup JSON.
  • -H baseHREF: Aktivuje výstup HTML, včetně odkazů HTTP.
  • --help: Nápověda ke stromu přístupů.
  • --version: Zobrazí použitou verzi příkazu Tree.

Pomocí těchto dvou příkazů bylo možné mnohem komplexněji spravovat každý úkol, který má být proveden na souborech v Linuxu, doplněním úkolů hledání nebo správy na nich a přístupem ke komplexním výsledkům podle potřeby.

wave wave wave wave wave