NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
PL

Polecenia systemu Linux i umiejętności powłoki

grep: Przeszukiwanie Linuksa jak profesjonalista

grep przetrwa każde odświeżenie łańcucha narzędzi, ponieważ zadanie nigdy się nie zmienia: znajdź istotne linie w tekście, który rośnie szybciej, niż ktokolwiek go czyści. Jego prawdziwą siłą jest słownictwo flagowe, które zamienia wyszukiwanie w odpowiedź: otaczający kontekst, listy nazw plików, odwrócone dopasowania i kody wyjścia, na których może rozgałęziać się skrypt powłoki. Kiedy serwer zachowuje się niewłaściwie, dochodzenie rozpoczyna się od grep i częściej, niż ktokolwiek przyznaje, na tym się kończy.

Kluczowe punkty

  1. Szukaj rekurencyjnie w określonym celu: grep -rni 'fail2ban' /var/log --include='*.log' samodzielnie pomija pliki binarne i skompresowane archiwa; gołe grep -r over /var/log uczy tej lekcji w powolny sposób.
  2. Kontekst sprawia, że ​​dopasowania są czytelne: -A 3 pokazuje linie po, -B 3 przed, -C 5 oba; -l wyświetla tylko nazwy plików, -c zlicza dopasowania na plik, a -L odwraca listę na brakujące elementy.
  3. Kody wyjścia są częścią kontraktu: 0 oznacza dopasowanie, 1 oznacza brak dopasowania, 2 oznacza błąd; skrypt uruchamiający grep -q i ignorujący to rozróżnienie traktuje sukces i ciszę identycznie.
  4. Lista plików łańcuchowych z wartością null: grep -rlZ 'ssl_protocols' /etc/nginx --include='*.conf' | xargs -0 -r ls -l; usuń parę Z i -0, a pierwsza nazwa pliku ze spacją przerywa potok.
  5. Użyj -E jako domyślnego poziomu wyrażenia regularnego dla czytelnej alternatywy i sięgnij po -P (obejścia, \d klasy) tylko wtedy, gdy zaakceptujesz, że jest to rozszerzenie GNU, którego grep BSD nie będzie obsługiwał.
  6. -F traktuje wzorzec jak dosłowny tekst: szybszy i odporny na wkradające się metaznaki wyrażeń regularnych ze zmiennych wklejonych prosto z biletu.
  7. --exclude-dir=.git i --exclude-dir=node_modules powstrzymują rekursywne wyszukiwania poza istniejącymi katalogami tylko po to, aby je spowolnić; Wyraźnie przeliteruj nazwy w skryptach, ponieważ rozwijanie nawiasów jest wygodą basha, a nie funkcją grep.
  8. Zachowaj rozdzielenie nawyków: --color=auto dla wygody interaktywnej, brak koloru w skryptach (sekwencje ucieczki uszkodzone logi) i -n (numery linii) włączone, aby następna osoba mogła znaleźć miejsce, które wkleiłeś.

Notatka z praktyki

Raz uruchomiłem grep -r na całej farmie kłód klienta o 2 w nocy i za moje kłopoty otrzymałem czterdzieści minut ciszy; dodanie --include='*.log' i -l zakończyło bilet na miejscu. Nawyki włączenia i kodu wyjścia są teraz wprowadzane przed wzorcem.

Częste pytania

Dlaczego grep czasami wypisuje „dopasowania plików binarnych” zamiast mojej linii?

Bajt NUL w pobliżu dopasowania powoduje, że GNU grep traktuje plik jako binarny; dodaj -a, aby wymusić tryb tekstowy lub -I, aby całkowicie pominąć pliki binarne, co jest właściwym ustawieniem domyślnym w przypadku katalogów z mieszanymi dziennikami.

Czy zamiast tego powinienem używać ripgrep?

ripgrep jest szybszy i domyślnie pomija pliki binarne i ukryte, ale grep istnieje na każdym urządzeniu, z którym kiedykolwiek będziesz korzystać z protokołu SSH, łącznie z obrazami ratunkowymi. Najpierw naucz się grep; sięgnij po rg, gdzie akurat jest zainstalowany.

Jak przeszukiwać obrócone, skompresowane logi?

zgrep przeszukuje pliki .gz w sposób przezroczysty, a zstdgrep uwzględnia przełączoną rotację nowszych kompresorów; wczorajsza igła zwykle znajduje się w jednym z nich, więc narzędzia liczą się jako podstawowa higiena.

Jak dopasować słowo, ale nie dłuższe słowo, które je zawiera?

Użyj -w do dopasowania całego słowa i -x do dopasowania pełnego wiersza; gdy wzorce wymagają części słów, klasy znaków takie jak [Ss]erver zapewniają precyzyjną kontrolę bez spłaszczania wielkości liter w innych miejscach.

Jak Kinetikatech pomaga w polecenia systemu linux i umiejętności powłoki

Tym zajmujemy się na co dzień: Polecenia i nawyki związane z tworzeniem skryptów, które decydują o tym, czy administrator obsługuje serwer, czy z nim walczy: przeszukuje, przekształca, przesyła i nadzoruje tekst i procesy za pomocą narzędzi znajdujących się w każdej podstawowej instalacji. Nasza usługa Bezpieczeństwo serwerów Linux i Zarządzanie serwerami obejmuje to kompleksowo: ocenę, wdrożenie, monitoring 24/7 oraz reakcję awaryjną w 30 minut.

Porozmawiaj z inżynierem

Problem z serwerem? Zhakowana strona? Wolna witryna?

Incydenty krytyczne w 30 minut — 24 godziny na dobę, 7 dni w tygodniu.

Poproś o wsparcie alarmowe support@kinetikatech.com