Linux naredbe i vještine školjke
grep: Pretražujem Linux kao profesionalac
grep preživi svako osvježavanje lanca alata jer se posao nikada ne mijenja: pronađite retke koji su važni unutar teksta koji raste brže nego što ga itko čisti. Njegova stvarna moć je vokabular zastavica koji pretragu pretvara u odgovor: okolni kontekst, popisi naziva datoteka, invertirana podudaranja i izlazni kodovi na koje se skripta ljuske može granati. Kada se poslužitelj loše ponaša, istraga počinje s grep-om i češće nego što itko priznaje, tu i završava.
Ključne točke
- Traži rekurzivno sa svrhom: grep -rni 'fail2ban' /var/log --include='*.log' samostalno preskače binarne i komprimirane arhive; goli grep -r preko /var/log uči tu lekciju na spor način.
- Kontekst čini podudaranja čitljivima: -A 3 prikazuje retke poslije, -B 3 prije, -C 5 oba; -l ispisuje samo nazive datoteka, -c broji podudaranja po datoteci, a -L invertira popis u ono što nedostaje.
- Izlazni kodovi dio su ugovora: 0 znači podudaranje, 1 znači da nema podudaranja, 2 znači pogrešku; skripta koja pokreće grep -q i zanemaruje tu razliku tretira uspjeh i šutnju identično.
- Datoteka lanca ispisuje null-safely: grep -rlZ 'ssl_protocols' /etc/nginx --include='*.conf' | xargs -0 -r ls -l; izbacite par Z i -0 i prvi naziv datoteke s razmakom prekida cjevovod.
- Upotrijebite -E kao zadanu razinu regularnog izraza za čitljivu izmjenu i posegnite za -P (lookarounds, \d klase) samo kada prihvatite da je to GNU proširenje. BSD grep neće nositi.
- -F tretira uzorak kao doslovni tekst: brži i imun na metaznakove regularnih izraza koji se ušuljaju iz varijabli zalijepljenih ravno iz karte.
- --exclude-dir=.git i --exclude-dir=node_modules zadržavaju rekurzivna pretraživanja izvan direktorija koji postoje samo da bi ih usporili; eksplicitno ispisuje imena u skriptama budući da je proširenje vitičastih zagrada pogodno za bash, a ne grep značajka.
- Držite navike odvojene: --color=auto za interaktivnu udobnost, bez boje u skriptama (escape sekvence kvare zapisnike) i -n (brojevi redaka) uključeno tako da sljedeća osoba može pronaći mjesto koje ste zalijepili.
Terenska bilješka
Jednom sam pokrenuo goli grep -r preko cijele klijentove log farme u 2 ujutro i dobio četrdeset minuta šutnje za svoj problem; dodavanje --include='*.log' i -l završilo je kartu na licu mjesta. Navike uključenog i izlaznog koda sada ulaze prije obrasca.
Često postavljana pitanja
Zašto grep ponekad ispisuje 'binary file matches' umjesto mog retka?
NUL bajt blizu podudaranja čini da GNU grep tretira datoteku kao binarnu; dodajte -a za forsiranje tekstualnog načina ili -I za potpuno preskakanje binarnih datoteka, što je ispravna zadana vrijednost na mješovitim direktorijima dnevnika.
Trebam li umjesto toga koristiti ripgrep?
ripgrep je brži i prema zadanim postavkama preskače binarne i skrivene datoteke, ali grep postoji na svakoj kutiji u koju ćete ikada pristupiti SSH-om, uključujući slike za spašavanje. Prvo naučite grep; dohvati rg gdje je slučajno instaliran.
Kako mogu pretraživati rotirane, komprimirane zapisnike?
zgrep pretražuje .gz datoteke transparentno, a zstdgrep pokriva noviju rotaciju kompresora na koju je prebačeno; jučerašnja igla obično živi unutar jedne od njih, pa se alat računa kao osnovna higijena.
Kako mogu spojiti riječ, ali ne i dužu riječ koja je sadrži?
Koristite -w za podudaranje cijele riječi i -x za podudaranje cijelog retka; kada obrasci trebaju dijelove riječi, klase znakova poput [Ss]erver daju preciznu kontrolu bez izravnavanja velikih i velikih slova svugdje drugdje.
Kako Kinetikatech pomaže kod linux naredbe i vještine školjke
Ponuda je jednostavna: Naredbe i navike skriptiranja koje odlučuju hoće li administrator upravljati poslužiteljem ili se boriti protiv njega: pretražujte, transformirajte, prenosite i nadzirite tekst i procese s alatima koji se nalaze u svakoj osnovnoj instalaciji. Povjerite to našoj usluzi Sigurnost Linux servera i Upravljanje serverima i imate potpunu pokrivenost: ozbiljna procjena, čista implementacija, nadzor bez prestanka.