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

Linux parancsok és shell készségek

grep: Keresés a Linuxon, mint egy profi

A grep túlél minden eszközlánc-frissítést, mert a feladat soha nem változik: találja meg a fontos sorokat a szövegben, amely gyorsabban nő, mint bárki kitakarítaná. Valódi ereje a zászlós szókincsben rejlik, amely a keresést válaszsá változtatja: környező kontextus, fájlnévlisták, fordított egyezések és kilépési kódok, amelyekre a shell szkript képes elágazni. Amikor egy szerver rosszul működik, a vizsgálat a grep-pel kezdődik, és gyakrabban, mint bárki beismerné, ott is végződik.

Kulcspontok

  1. Rekurzív keresés céllal: grep -rni 'fail2ban' /var/log --include='*.log' önmagában kihagyja a bináris fájlokat és a tömörített archívumokat; a /var/log feletti üres grep -r megtanítja ezt a leckét a lassú módon.
  2. A kontextus olvashatóvá teszi a találatokat: -A 3 az utána lévő sorokat, a -B 3 előtte, a -C 5 mindkettőt; Az -l csak a fájlneveket listázza ki, a -c az egyezéseket fájlonként számolja, a -L pedig megfordítja a listát a hiányzókra.
  3. A kilépési kódok a szerződés részét képezik: 0 azt jelenti, hogy illeszkedik, 1 azt jelenti, hogy nincs egyezés, 2 azt jelenti, hogy hiba; egy szkript, amely a grep -q parancsot futtatja, és figyelmen kívül hagyja ezt a megkülönböztetést, a sikert és a csendet azonosan kezeli.
  4. A láncfájlok listája null-safely: grep -rlZ 'ssl_protocols' /etc/nginx --include='*.conf' | xargs -0 -r ls -l; dobja el a Z és a -0 párosítást, és az első fájlnév szóközzel megszakítja a folyamatot.
  5. Használja az -E-t alapértelmezett regex szintként az olvasható váltakozáshoz, és csak akkor érje el a -P-t (lookarounds, \d classes), ha elfogadja, hogy a GNU kiterjesztése a BSD grep nem viszi tovább.
  6. A -F szó szerinti szövegként kezeli a mintát: gyorsabb és immunis a regex metakarakterekkel szemben, amelyek az egyenesen jegyből kiragasztott változókból besurranóak.
  7. Az --exclude-dir=.git és az --exclude-dir=node_modules távol tartják a rekurzív kereséseket olyan könyvtáraktól, amelyek csak azért léteznek, hogy lassítsák azokat; A neveket kifejezetten ki kell írni a szkriptekben, mivel a kapcsos zárójel kiterjesztése bash kényelem, nem grep szolgáltatás.
  8. Tartsa külön a szokásokat: --color=auto az interaktív kényelem érdekében, nincs szín a szkriptekben (a kilépési szekvenciák rontják a naplókat), és -n (sorszámok), hogy a következő személy megtalálja a beillesztett helyet.

Terepi jegyzet

Egyszer egy csupasz grep -r-rel végigfutottam egy ügyfél teljes rönkfarmán hajnali 2-kor, és negyven perc csendet kaptam a bajom miatt; A --include='*.log' és -l hozzáadásával a jegy a helyszínen véget ért. Az include és exit-code szokások most a minta előtt lépnek be.

Gyakori kérdések

Miért írja ki néha a grep a "bináris fájl egyezéseit" a sorom helyett?

Egy NUL bájt az egyezés közelében arra készteti a GNU grep-et, hogy a fájlt binárisként kezelje; adjon hozzá -a-t a szöveges mód kényszerítéséhez, vagy -I-t a binárisok teljes kihagyásához, ami a vegyes naplókönyvtárak megfelelő alapértelmezése.

Használjam helyette a ripgrep-et?

A ripgrep gyorsabb, és alapértelmezés szerint kihagyja a bináris és a rejtett fájlokat, de a grep minden olyan dobozban létezik, amelybe SSH-t használunk, beleértve a mentési képeket is. Először tanulja meg a grep-et; nyúlj az rg-hez, ahol történetesen telepítve van.

Hogyan kereshetek elforgatott, tömörített naplókban?

A zgrep transzparensen keresi a .gz fájlokat, a zstdgrep pedig lefedi az újabb kompresszorok forgását, amelyre átváltott; A tegnapi tű általában az egyikben lakik, így az eszközök alapvető higiéniának számítanak.

Hogyan párosíthatok egy szót, de egy hosszabb szót nem?

Használja a -w-t a teljes szó, az -x-et pedig a teljes sor egyezéséhez; Amikor a mintákhoz szórészekre van szükség, az olyan karakterosztályok, mint az [Ss]erver, precíz vezérlést adnak anélkül, hogy a kis- és nagybetűket mindenhol egyenlítenék.

Hogyan segít a Kinetikatech a linux parancsok és shell készségek területén

Nem kell szakértővé válnod a linux parancsok és shell készségek területén: Azok a parancsok és szkriptelési szokások, amelyek eldöntik, hogy a rendszergazda üzemeltet-e egy kiszolgálót, vagy küzd ellene: keressen, alakítson, vigyen át és felügyeljen szöveget és folyamatokat a minden alaptelepítésben megtalálható eszközökkel. Pontosan erre van a Linux-szerverbiztonság és Szerveradminisztráció: üzembe helyezés, megerősítés, felügyelet és egy ügyeletes szakember éjjel-nappal.

Beszéljen egy mérnökkel

Probléma a szerverrel? Feltörték a webhelyet? Lassú a betöltés?

Kritikus problémák megoldása 30 percen belül — a hét minden napján, éjjel-nappal.

Sürgős támogatás kérése support@kinetikatech.com