Jak korzystać z polecenia Grep i przykładów Tree Linux

Jednym z najbardziej wszechstronnych systemów operacyjnych do zarządzania za pośrednictwem terminala jest niewątpliwie Linux w dowolnej z dostępnych dystrybucji, a to dzięki integracji wielu poleceń dostępnych w jego konsoli. Nie ma znaczenia, czy korzystamy z systemu terminalowego (jak wersje serwerowe) czy środowiska opartego na GUI (jak wersje desktopowe), w każdym z nich terminal i jego polecenia zawsze będą niezawodnym źródłem zarządzania i Pomoc.

W ramach naszej codziennej działalności jest tworzenie i edycja folderów i plików, których może być wiele w zależności od pełnionej roli. W pewnym momencie wsparcia jest to normalne, że w taki czy inny sposób negatywnie wpływa na wyszukiwanie elementów nie tylko ze względu na liczbę plików, ale także lokalizację, w której są hostowane.

Aby ułatwić zarządzanie tego typu działaniami w znacznie prostszy sposób, mamy dwa podstawowe polecenia do wyszukiwania i przeglądania obiektów w systemie Linux i są to polecenia Grep i Tree. Solvetic szczegółowo wyjaśni ich zastosowanie i jak je kompleksowo zastosować w używanej przez nas dystrybucji Linuksa.

1. Co to jest polecenie GREP

Co to jest polecenie GrepaGrep to polecenie opracowane w celu wykonywania zadań wyszukiwania tekstu, Grep jest odpowiedzialny za wyszukiwanie w pliku, w którym wskazujemy linie, w których wykryto dopasowanie, za pomocą słów lub ciągu, który przypisujemy podczas wykonywania tego. Jego nazwa pochodzi od edytora UNIX g/re/p. Podczas wykonywania Grepa będzie można wskazać nazwę pliku lub można pozostawić standardowe wejście, więc Grep jest odpowiedzialny za generowanie pasujących linii.

Zmienne grepIstnieją trzy (3) zmienne zarządzane podczas procesu Grep, którymi są:

  • -G, --basic-regexp: odpowiada za interpretację wzorca jako podstawowego wyrażenia regularnego, jest to wartość domyślna.
  • -E, --extended-regexp: Ta opcja dopuszcza wzorzec jako rozszerzone wyrażenie regularne.
  • -F, --fixed-strings: przy tej opcji wzorzec jest interpretowany jako lista stałych ciągów znaków, oddzielonych znakami końca linii, w których w dowolnym z nich znajdzie się dopasowanie.

Polecenie Grep (Global Regular Expression Print) to polecenie, które pozwoli nam przeanalizować system w celu znalezienia dopasowań i po wykryciu przystąpić do drukowania wyników, aby możliwe było centralne zarządzanie tymi wynikami.

Składnia grepSkładnia użycia polecenia Grep jest następująca:

 grep (Opcja) Wzór (plik) 

Parametry polecenia GrepaIstnieje szereg parametrów, których możemy użyć z poleceniem grep w celu uzyskania najlepszych wyników, są to:

  • -E, --extended-regexp: Wzorce są rozumiane jako wyrażenia regularne
  • -F, --fixed-strings: Wzorce są łańcuchami
  • -G, --basic-regexp: Wzorce to podstawowe wyrażenia regularne
  • -P, --perl-regexep: Wzorce są wyrażeniami Perla
  • -e, regexp = WZORCE: Szukaj wzorców dla dopasowań
  • -F. -plik (plik): Użyj wzorców jako pliku
  • -i, --ignore-case: Ignoruj ​​wielkość liter
  • -w, --word-regexp: Dopasuj wszystkie te same słowa
  • -x, --line-regexp: Dopasuj wszystkie wiersze
  • -s, --no-messages: Usuń komunikaty o błędach
  • -v, --invert-match: Wybierz linie, które nie pasują do kryteriów wyszukiwania
  • -V, --version: Wyświetla używaną wersję grep
  • -m, --max-count = LICZBA: Zatrzymaj wyszukiwanie po określonej liczbie linii
  • -b, --byte-offset = Wyświetla przesunięcie bajtów obok linii wyjściowych
  • -n, --line-number: Wyświetla liczbę linii
  • -H, --with-filename: wyświetla nazwę pliku w liniach wyjściowych
  • -q, --quiet: Pomiń wszystkie wyniki
  • -d, --directories = Akcja: Wskazuje sposób obsługi katalogów
  • -l, --files-without-match = Drukuj tylko nazwy plików bez wierszy
  • -c, --count: Drukuj wybrane wiersze na plik

Nie mam dowództwa GrepaKomenda grep jest domyślnie dostępna w dystrybucjach Linuksa, ale jeśli z jakiegoś powodu jej nie masz, możesz ją zainstalować za pomocą następujących poleceń:

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

Krok 1
Ogólna składnia, która może zawierać wiele parametrów, jest następująca:

 grep [-AB] numer] [-CEFGVbchiLlnqsvwxyUu] [[-e] wzorzec | -f plik] [--extended-regexp] [--fixed-strings] [--basic-regexp] [--regexp = WZÓR] [--file = PLIK] [--ignore-case] [--word -regexp] [--line-regexp] [--line-regexp] [--no-messages] [--invert-match] [--wersja] [--help] [--byte-offset] [- -line-number] [--with-filename] [--no-filename] [--quiet] [--silent] [--files-without-match] [--files-with-matcces] [- count ] [--before- context = LICZBA] [--after-context = LICZBA] [--context] [--binary] [--unix-byte-offsets] pliki … 
Krok 2
Zobaczymy kilka przykładów użycia Grepa, zanim poznamy jego parametry. Jeśli chcemy przeszukać katalog / etc / passwd pod kątem wszystkiego, co dotyczy konkretnego użytkownika, możemy wykonać następujące czynności:
 grep "użytkownik" / etc / passwd 
Krok 3
Wynik będzie następujący:

Krok 4
Będzie również możliwe wymuszenie na komendzie Grep ignorowania wielkich i małych liter, czyli umożliwienie dopasowania solvetic, Solvetic lub SOLVETIC wraz ze wszystkimi kombinacjami przy użyciu parametru -i:

 grep -i "solvetic" / etc / passwd 

Krok 5
Tę opcję można również wykonać za pomocą polecenia cat w następujący sposób:

 kot / etc / passwd | grep -i "rozpuszczalnik" 

2. Przykłady użycia polecenia Grep


Korzystanie z poleceń w systemach operacyjnych Linux jest obowiązkowym zadaniem dla wszystkich administratorów IT i użytkowników, ponieważ dzięki nim możemy wykonać setki zadań administracyjnych, informacyjnych i pomocniczych. Istnieje wiele poleceń, każde z własnymi kryteriami i funkcjami, ale jednym z nich specjalnie do wyszukiwania tekstu w plikach znajdujących się w katalogach lub folderach jest polecenie Grep.

Teraz zobaczymy, jak używać polecenia Grep w systemie Linux.

Jak ogólnie korzystać z GrepaAby zrozumieć, jak działa Grep, przeszukamy katalog / etc / passwd pod kątem wszystkich wyników powiązanych z naszym użytkownikiem:

 grep solvetic / etc / passwd 
W rezultacie zobaczymy:

Jako dodatkowy punkt pamiętajmy, że można powiedzieć grepowi, aby ignorował duże i małe litery w wynikach, w tym celu wykonujemy następujące czynności:

 grep -i "solvetic" / etc / passwd 

Grep jest idealny do wyszukiwania określonych terminów w znanych plikach, na przykład uruchommy następujące wyszukiwanie:

 grep Solvetic Solvetic.txt 
W rezultacie zobaczymy wiersze, w których powtarza się to słowo:

Możemy wyszukiwać ten sam termin w różnych plikach jednocześnie, użyjemy do tego następującego wiersza:

 grep Solvetic Solvetic.txt Solvetic1.txt 

Krótszym sposobem na to jest uruchomienie:

 grep solvetic *. * 

Jak używać grep do przekierowywania wyników do pliku w systemie Linux?Jest to przydatne w przypadkach, w których musimy później wykonać zadania administracyjne na plikach, dzięki czemu możliwe jest przekierowanie wyjścia polecenia grep do konkretnego pliku, na przykład wykonamy następujące czynności:

 grep Solvetic Solvetic.txt> Solvetic2.txt 
W rezultacie zobaczymy, że wymagany plik tekstowy został utworzony:

POWIĘKSZAĆ

Jak używać grep do wyszukiwania katalogówDzięki parametrowi -r będziemy mogli wyszukać wartość w dostępnych podkatalogach, wykonamy:

 grep -r Solvetic / home / solvetic 
Spowoduje to przeszukanie całego katalogu domowego w poszukiwaniu terminu podświetlającego wykryte wyniki:

Jak używać grep do wyświetlania numeru wiersza?W przypadku audytu lub zaawansowanych zadań wsparcia idealnie jest wyświetlić numer wiersza, w którym znajduje się wzorzec wyszukiwania, w tym celu możemy użyć parametru -n w następujący sposób. Tam znajdujemy numer linii, w której znajduje się każda wartość.

 grep -n Solvetic Solvetic.txt 

Jak używać grep do podkreślania wynikówPonieważ wiemy, że tekst może być często mylący, rozwiązaniem jest podświetlenie kryteriów wyszukiwania, które skupiają nasz widok bezpośrednio na tej linii, w tym celu użyjemy parametru koloru w następujący sposób:

 grep -color Solvetic Solvetic.txt 

Jak używać grep do wyświetlania linii, które zaczynają się lub kończą wskazanym wzorem?Możliwe, że chcemy zobaczyć tylko wyniki linii, które zaczynają się lub kończą kryteriami wyszukiwania, w tym celu, jeśli chcemy wyszukać linie, które się zaczynają, użyjemy następującej linii:

 grep Solvetic Solvetic.txt 

Teraz, aby wyświetlić linie, które się kończą, użyjemy:

 grep Solvetic $ Solvetic.txt 

Jak używać grep do drukowania wszystkich linii bez sprawdzania, które pasują?Jeśli chcemy zobaczyć wszystkie wiersze oprócz tych, w których szukana jest wartość, musimy użyć parametru -v w następujący sposób:

 grep -v Solvetic Solvetic.txt 

Jak używać grep z innymi poleceniamiGrep, podobnie jak wiele poleceń Linuksa, może być używany jednocześnie z innymi poleceniami, aby uzyskać bardziej przejrzyste wyniki, na przykład, jeśli chcemy wdrożyć procesy HTTP, użyjemy grep razem z ps w następujący sposób:

 ps -ef | grep http 

Jak używać grep, aby policzyć, ile słowa powtarza się w pliku?Jeśli chcemy wiedzieć, ile razy wzorzec powtarza się w danym pliku, użyjemy parametru -c:

 grep -c Solvetic Solvetic.txt 

Jak używać grep do wyszukiwania wstecznegoChoć brzmi to dziwnie, to nic innego jak wyświetlanie słów, których nie określamy w wyniku, osiągamy to za pomocą parametru -v:

 grep -v Solvetic Solvetic2.txt

Jak używać grep do przeglądania szczegółów sprzętu?Widzieliśmy wcześniej, że możemy połączyć grep z innymi poleceniami, aby wyświetlić wynik, cóż, jeśli chcemy uzyskać określone szczegóły sprzętu, możemy użyć cat z grep w ten sposób:

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

Nauczyliśmy się globalnie, w jaki sposób polecenie grep daje nam dostęp do znacznie bardziej szczegółowych wyników kryteriów wyszukiwania w Linuksie.

3. Jak rekursywnie używać polecenia Grep Linux?

Krok 1
Grep daje nam możliwość wykonania wyszukiwania rekurencyjnego, to znaczy, że to wyszukiwanie odczytuje wszystkie pliki w każdym katalogu dla określonego ciągu, na przykład adresu IP komputera, możemy wykonać dowolną z poniższych opcji:

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

NotatkaTam możemy wpisać aktualny adres IP używanego sprzętu.

Krok 2
To samo możemy wykonać również z IP 192.168.1.5, który system wykorzystuje dla standardowych wyjść:

Krok 3
Możemy zauważyć, że przy obu adresach IP wyświetlana jest osobna linia poprzedzona nazwą pliku, w którym została wykryta, jeśli chcemy wyeliminować włączenie tej wartości, będzie można ją pominąć za pomocą opcji -h lubię to:

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

NotatkaTo polecenie musi być uruchamiane jako root lub przez dodanie sudo do polecenia.

4. Jak używać polecenia Grep Linux do wyszukiwania słów

Krok 1
Grep jest przydatny do wyszukiwania terminów w określonym pliku, dlatego wynik zostanie wyświetlony w podświetlony sposób każdy wiersz, w którym znajduje się wyszukiwany termin, a także słowa (niepodświetlone), które towarzyszą wyszukiwanemu terminowi, składnia do użycia to następujące. W tym przypadku w pliku Solvetic1 wykryto 3 dopasowania.

 grep -w plik "słowo"

Krok 2
W przypadku chęci wyszukania dwóch terminów w pliku, musimy wykonać poniższą składnię za pomocą polecenia egrep. Jak widać, wyszukiwane słowa zostaną podświetlone w wyniku.

 egrep -w 'term1 | term2' plik 

5. Jak używać polecenia Grep Linux do liczenia słów?

Krok 1
Kolejną praktyczną opcją Grepa jest możliwość poznania, ile razy słowo jest powtarzane w określonym pliku, osiąga się to dzięki parametrowi -c w ten sposób:

 grep -c 'plik słowa' 

Krok 2
Alternatywnie możemy użyć parametru -n, aby poprzedzić każdą linię wyjściową numerem linii, w której jest ona wpisana w wybranym pliku:

 grep -n 'słowo' plik 

6. Jak wymusić wyszukiwanie wsteczne polecenie Grep Linux?


W przypadku wyszukiwania wstecznego mamy na myśli, że polecenie Grep wyświetli tylko wyniki z tych wierszy, które nie zawierają zdefiniowanego słowa, osiąga się to za pomocą parametru -v w następujący sposób:
 grep -v plik "termin" 

7. Jak korzystać z UNIX / Linux Pipes razem z poleceniem Grep?

Krok 1
Polecenie Grep w systemie Linux można łączyć z potokami powłoki UNIX, na przykład, jeśli chcemy wyświetlić nazwy urządzeń dysków twardych, wykonamy następującą linię:

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

Krok 2
Tam zostaną wyświetlone wyniki ze wszystkimi odpowiednimi informacjami. Aby wyświetlić model procesora wykonujemy:

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

Krok 3
Dla tego samego wyniku możemy również wykonać następujące czynności:

 grep -i 'Model' / proc / cpuinfo 
Krok 4
Jednym z najbardziej specjalnych zastosowań polecenia Grep lub egrep jest możliwość filtrowania danych wyjściowych tradycyjnych poleceń, takich jak yum, dpkg, apt lub apt-get. Na przykład możemy uruchomić następującą linię, aby znaleźć obrazy Linuksa za pomocą dpkg:
 dpkg --lista | grep linux-image 

Krok 5
Wyszukiwanie będzie można uruchomić za pomocą apt:

 trafne wyszukiwanie maria | egrep 'serwer | klient' 

8. Jak wyświetlić tylko te nazwy plików, które pasują do Grepa?


W tym celu możemy skorzystać z opcji -l, aby wyświetlić nazwę pliku, w którym jego zawartość zostanie podświetlona w następujący sposób:
 grep -l 'termin' * .c 
Parametry polecenia GrepaNastępnie zobaczymy różne zmienne, które Grep oferuje nam do zarządzania w systemie Linux:

  • -num: Dzięki tej opcji pasujące linie będą znajdować się obok poprzedniego i kolejnego numeru linii.
  • -Liczba, --after-context = LICZBA: Wyświetla liczbę wierszy kontekstu po dopasowaniu do wskazanych.
  • -B liczba, --before-context = LICZBA: Użycie tej opcji spowoduje wyświetlenie wierszy kontekstu przed tymi, które pasują do wyszukiwania.
  • -V, --version: Wyświetla numer wersji używanego programu grep.
  • -b, --byte-offset: Ten parametr wyświetla przesunięcie w bajtach od początku pliku wejściowego przed każdym wierszem jego wyjścia.
  • -c, --count: Policz liczbę wierszy pasujących do podanego terminu.
  • -h, --no-filename: Pomija drukowanie nazw plików w danych wyjściowych.
  • i, --ignore-case: Nie bierze pod uwagę, czy litery są wielkie czy małe.
  • -L, --files-without-match: Ta opcja pokazuje nazwę każdego pliku wejściowego, w którym nie znaleziono dopasowania.
  • -l, --files-with-matches: Pokaż nazwę każdego pliku wejściowego, który może wygenerować wynik.
  • -n, --line-number: Odwzorowuje każdy wiersz wyjścia na odpowiedni numer wiersza w pliku wyszukiwania.
  • -q, --quiet: Włącza tryb cichy, który blokuje normalne wyjście i wyszukiwanie kończy się przy pierwszym dopasowaniu.
  • -s, --silent: Pomija komunikaty o błędach.
  • -v, --invert-match: Ta opcja odwraca kierunek wyszukiwania, to znaczy wyświetla wyniki, które nie pasują do wyszukiwanego terminu.
  • w, --word-regexp: Ten parametr wybiera tylko wiersze zawierające dopasowania składające się na całe słowa.
  • -x, --line-regexp: Ta opcja wybiera tylko dopasowania składające się z całej linii.

9. Jak używać i instalować polecenie Tree w systemie Linux?


Porozmawiamy teraz trochę o poleceniu Drzewo, jak wskazuje jego nazwa, zostało ono opracowane w celu pokazania katalogów systemowych w postaci drzewa, ułatwiając w ten sposób zarządzanie nimi.

Polecenie Drzewo działa z rekurencyjnym poleceniem listowania katalogów, które skutkuje formatem drzewa zaprojektowanym z serią kolorów tylko wtedy, gdy zmienna środowiskowa LS_COLORS jest ustawiona, a wyjściem jest tty, w przypadku gdy nie są przypisane żadne argumenty, to polecenie wyświetli listę plików w bieżący katalog.

Krok 1
Jego ogólna składnia jest następująca:

 drzewo [-acdfghilnpqrstuvxACDFQNSUX] [-L poziom [-R]] [-H bazowyHREF] [-T tytuł] [-o nazwa pliku] [--nolinks] [-P wzorzec] [-I wzorzec] [--i-węzły] [ --device] [--noreport] [--dirsfirst] [--wersja] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format ] [--matchdirs] [-] [katalog…] 
Krok 2
Pierwszym krokiem jest zainstalowanie polecenia Drzewo, uruchamiając następujące polecenie:
 drzewo instalacji sudo apt 

Krok 3
Po zainstalowaniu bezpośrednio wykonujemy polecenie „drzewo”, aby wyświetlić bieżący katalog w formacie drzewa:

10. Jak pracować z plikami za pomocą polecenia Drzewo w systemie Linux

Wyświetl ukryte pliki za pomocą DrzewaDomyślnie polecenie Drzewo nie wyświetla ukrytych plików ze względów bezpieczeństwa, jeśli będziemy chcieli je wyświetlić w wyniku, będzie można w tym celu dodać parametr -a:

 drzewo-a 

POWIĘKSZAĆ

Wyświetlaj tylko katalogi z drzewemW przypadku, gdy chcesz, aby Tree generowało tylko wpisy w katalogu, możesz to zrobić za pomocą parametru -d w następujący sposób:

 drzewo -d 

POWIĘKSZAĆ

Zobacz pełną ścieżkę plików za pomocą TreePolecenie Drzewo daje nam możliwość wydrukowania przedrostka pełnej ścieżki do plików w katalogu za pomocą parametru -f:

 drzewo -f 

POWIĘKSZAĆ

Kontroluj wymiar wyniku za pomocą TreeW niektórych przypadkach możliwe jest, że wygenerowany wynik jest bardzo długi, drzewo pozwala nam kontrolować głębokość drzewa katalogów dla swojego wyjścia, do tego musimy użyć parametru -L, który wymaga wartości liczbowej, która wskazuje dozwoloną głębokość katalogu:

 drzewo -d -L 2 

POWIĘKSZAĆ

Używaj selektywnych nazw z TreeZa pomocą parametru -l będzie można wykluczyć pewne słowa z wyników generowanych przez Tree, na przykład możemy wykonać następującą linię, aby wygenerować wyniki, ale bez terminu Android:

 drzewo -d -I * Android 

POWIĘKSZAĆ

11. Parametry do użycia z poleceniem Drzewo w systemie Linux

Parametry do użycia z TreeNastępnie Solvetic wyjaśni dostępne parametry do użycia z Tree:

  • -a: Drukuj wszystkie pliki, pamiętaj, że domyślnie drzewo nie drukuje ukrytych plików.
  • -d: Wyświetla tylko katalogi.
  • -l: Kontynuuj dowiązania symboliczne, jeśli wskazują na katalogi, udając katalogi.
  • -f: Drukuj przedrostek pełnej ścieżki obiektów.
  • -x: Pozostaje tylko w bieżącym systemie plików.
  • -L Level: pozwala określić maksymalną głębokość wyświetlania drzewa katalogów w wyniku.
  • -R: Działa rekursywnie przecinając drzewo w katalogach na każdym poziomie iw każdym z nich wykona. drzewo ponownie, dodając `-o 00Drzewo.html '.
  • -P wzorzec: Wyświetla tylko pliki, które pasują do wzorca wieloznacznego.
  • -I wzorzec: nie wyświetlaj plików, które pasują do wzorca wieloznacznego.
  • --matchdirs. Ta opcja określa pasujący wzorzec, który umożliwia zastosowanie wzorca tylko do nazw katalogów.
  • --prune: ten parametr usuwa puste katalogi z danych wyjściowych.
  • --noreport: Pomiń drukowanie raportu pliku i katalogu na końcu listy wykonanego drzewa.

Opcje ogólne drzewaSą to ogólne dostępne opcje drzewa, ale mamy również wyłączne parametry dla plików, są to:

  • -q: Drukuj niedrukowalne znaki w nazwach plików.
  • -N: Drukuje znaki niedrukowalne.
  • -Q: Jego funkcją jest przypisywanie nazw plikom w podwójnych cudzysłowach.
  • -p: Drukuj typ pliku i uprawnienia dla każdego pliku w katalogu.
  • -u: Drukuj nazwę użytkownika lub UID pliku.
  • -s: Drukuj rozmiar każdego pliku w bajtach, jak również jego nazwę.
  • -g Wydrukuj nazwę grupy lub GID pliku.
  • -h: Jego funkcją jest drukowanie rozmiaru każdego pliku w sposób czytelny dla człowieka.
  • --du: Działa na każdym katalogu, generując raport o jego rozmiarze, w tym o rozmiarach wszystkich jego plików i podkatalogów.
  • --si: Używa potęgi 1000 (jednostek SI) do wyświetlania rozmiaru pliku.
  • -D: Drukuje datę ostatniej modyfikacji plików.
  • -F: Twoim zadaniem jest dodanie `/ 'dla katalogów, `=' dla plików gniazd, `* 'dla plików wykonywalnych, `>' dla drzwi (Solaris) i `|' dla FIFO.
  • --inodes: Wyświetla numer i-węzła pliku lub katalogu.
  • --device: Drukuj numer urządzenia, do którego należy plik lub katalog w danych wyjściowych.
  • -v: Sortuj dane wyjściowe według wersji.
  • -U: Nie porządkuje wyników.
  • -r: Sortuj dane wyjściowe w odwrotnej kolejności.
  • -t: Sortuj wyniki na podstawie czasu ostatniej modyfikacji zamiast alfabetycznie.
  • -S: Aktywuje wykresy liniowe CP437
  • -n: Wyłącza kolorowanie wyniku.
  • -C: Aktywuje koloryzację.
  • -X: Aktywuje wyjście XML.
  • -J: Aktywuj wyjście JSON.
  • -H baseHREF: Aktywuje wyjście HTML, w tym odwołania HTTP.
  • --help: Dostęp do pomocy drzewa.
  • --version: Wyświetla używaną wersję polecenia Drzewo.

Za pomocą tych dwóch poleceń można było w znacznie bardziej kompleksowy sposób administrować każdym zadaniem do wykonania na plikach w systemie Linux, uzupełniając zadania wyszukiwania lub zarządzania nimi i w razie potrzeby uzyskiwać dostęp do kompleksowych wyników.

wave wave wave wave wave