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

Ukazi in spretnosti lupine Linux

grep: iskanje po Linuxu kot profesionalec

grep preživi vsako osvežitev orodne verige, ker se delo nikoli ne spremeni: poiščite pomembne vrstice znotraj besedila, ki raste hitreje, kot ga kdorkoli počisti. Njegova resnična moč je besednjak zastavic, ki iskanje spremeni v odgovor: okoliški kontekst, seznami imen datotek, obrnjena ujemanja in izhodne kode, na katere se lupinski skript lahko razveja. Ko se strežnik slabo obnaša, se preiskava začne z grep in pogosteje kot kdorkoli prizna, se tam tudi konča.

Ključne točke

  1. Išči rekurzivno z namenom: grep -rni 'fail2ban' /var/log --include='*.log' sam preskoči binarne datoteke in stisnjene arhive; goli grep -r nad /var/log to lekcijo nauči počasi.
  2. Kontekst naredi ujemanja berljiva: -A 3 prikazuje vrstice za, -B 3 pred, -C 5 obe; -l navede samo imena datotek, -c šteje zadetke na datoteko in -L obrne seznam na tisto, kar manjka.
  3. Izhodne kode so del pogodbe: 0 pomeni ujemanje, 1 pomeni brez ujemanja, 2 pomeni napako; skript, ki zažene grep -q in ignorira to razliko, obravnava uspeh in tišino enako.
  4. Verižna datoteka varno navaja ničelne sezname: grep -rlZ 'ssl_protocols' /etc/nginx --include='*.conf' | xargs -0 -r ls -l; opustite par Z in -0 in prvo ime datoteke s presledkom prekine cevovod.
  5. Uporabite -E kot privzeto raven regularnega izraza za berljivo menjavo in posezite po -P (lookarounds, \d classes) le, če se strinjate, da je razširitev GNU. BSD grep ne bo prenesel.
  6. -F obravnava vzorec kot dobesedno besedilo: hitrejši in imun na metaznake regularnih izrazov, ki se prikradejo iz spremenljivk, prilepljenih neposredno iz vozovnice.
  7. --exclude-dir=.git in --exclude-dir=node_modules preprečita rekurzivna iskanja iz imenikov, ki obstajajo, samo zato, da jih upočasnijo; izrecno črkovati imena v skriptih, saj je razširitev oklepaja udobje za bash in ne funkcija grep.
  8. Naj bodo navade ločene: --color=auto za interaktivno udobje, brez barve v skriptih (ubežna zaporedja pokvarijo dnevnike) in -n (številke vrstic) vklopljeno, da lahko naslednja oseba najde mesto, ki ste ga prilepili.

Terenska beležka

Nekoč sem ob 2. uri zjutraj zagnal goli grep -r po celotni log farmi stranke in za svoje težave dobil štirideset minut tišine; dodajanje --include='*.log' in -l je vstopnico končalo na kraju samem. Navadi vključitvene in izhodne kode se zdaj vključita pred vzorcem.

Pogosta vprašanja

Zakaj grep včasih natisne 'binary file matches' namesto moje vrstice?

NUL bajt blizu ujemanja povzroči, da GNU grep obravnava datoteko kot binarno; dodajte -a, da vsilite besedilni način, ali -I, da v celoti preskočite dvojiške datoteke, kar je prava privzeta vrednost za imenike mešanih dnevnikov.

Ali naj namesto tega uporabim ripgrep?

ripgrep je hitrejši in privzeto preskoči binarne in skrite datoteke, vendar grep obstaja v vsaki škatli, v katero boste kadar koli vstopili s SSH, vključno z reševalnimi slikami. Najprej se naučite grep; posezite po rg, kjer je nameščen.

Kako iščem rotirane, stisnjene dnevnike?

zgrep pregledno išče datoteke .gz in zstdgrep pokriva novejši kompresorji, na katere je preklopljena rotacija; včerajšnja igla običajno živi znotraj enega od teh, zato orodje šteje za osnovno higieno.

Kako naj povežem besedo, vendar ne daljše besede, ki jo vsebuje?

Uporabite -w za ujemanje cele besede in -x za ujemanje celotne vrstice; ko vzorci potrebujejo dele besed, razredi znakov, kot je [Ss]erver, zagotavljajo natančen nadzor brez sploščenja velikih in malih črk povsod drugje.

Kako Kinetikatech pomaga s ukazi in spretnosti lupine linux

To smo rešili stotino krat: Ukazi in skriptne navade, ki odločajo, ali skrbnik upravlja strežnik ali se bori proti njemu: iskanje, preoblikovanje, prenos in nadzorovanje besedila in procesov z orodji, ki živijo v vsaki osnovni namestitvi. Z Varnost strežnikov Linux in Upravljanje strežnikov dobite celoten cikel: evaluiramo, implementiramo, sledimo nonstop in intervenciramo v 30 minutah, ko je potrebno.

Pogovorite z inženirjem

Problem z strežnikom? Napadena spletna stran? Dolgo se naloži?

Kritični problemi rešeni v 30 minutah — nonstop, 7 dni v tednu.

Zahtevajte hitno podporo support@kinetikatech.com