Grep és keresse meg az operátorok szabályait a linuxra
- 3680
- 1027
- Boros Patrik
Kezdetben az UNIX/Linux operációs rendszereknek nem volt grafikus felülete, mivel azok a szerver használatára összpontosítottak. Ma ebben a tekintetben nem alacsonyabbak a Windowsnál, ezért az operációs rendszert használó felhasználók ritkán ismerik a szintaxist és a fő Linux parancsok célját. Eközben ez egy nagyon hatékony eszköz, amely lehetővé teszi a műveletek gyors végrehajtását, amely az operációs rendszer alapvető eszközeivel problematikus vagy lehetetlen. Ma találkozni fog a keresési és a grep operátorokkal, amelyek alapvetőek az összes Linux eloszlás fájlrendszeréhez.
A keresési és a grep operátorok kinevezése
A Find Team Linuxban a parancssori operátor, aki a meglévő hierarchiát megkerüli a fájlokkal. Ez lehetővé teszi a fájlok keresését sok szűrővel, valamint bizonyos műveleteket a fájlokon keresztül a sikeres keresés után. A fájlok keresésének kritériumai között szinte az összes elérhető attribútum, a létrehozás napjától a felbontásig.
A Linuxban található GREP -csapat a keresőmotorokra is utal, de a fájlokban. A csapat szó szerinti fordítása a „rendszeres kifejezések globális nyomtatása”, de a pecsét itt az eszközön végzett munka eredményeinek következtetését jelenti, amely általában a monitor, amely általában a monitor. Hatalmas potenciállal rendelkezik, az operátort elég gyakran használják, és lehetővé teszi, hogy egy vagy több fájlon belül keressen a megadott fragmensek (sablonok) szerint. Mivel a linux terminológiája szignifikánsan különbözik a Windows -ban, sok felhasználónak jelentős nehézségei vannak ezeknek a parancsoknak a használatával. Megpróbáljuk kiküszöbölni ezt a hátrányt.
Grep és keresse meg a szintaxist
Kezdjük a keresési operátorral. A fájlkeresési csapat szintaxisa így néz ki:
Keresse meg a [hol kell kinézni] [paraméterek] [-optikus] [művelet]
Néhány paraméter használ:
- -Mélység: Keresés az aktuális mappában és a szubkatalistákban;
- -Verzió: Hozd el a csapat verzióját;
- -Nyomtatás: Mutassa meg a teljes fájlneveket (Linuxban tetszőlegesen nagyok lehetnek);
- -F típus: Keressen kizárólag fájlok keresése;
- -D típus - csak a könyvtár keresése (mappák).
A rendelkezésre álló lehetőségek listája (kötőjelen keresztül jelölve):
- Név: Fájlkeresés név szerint;
- Felhasználó: Keresés a fájltulajdonos nevével;
- perm: A "hozzáférési mód" attribútum szerint;
- MTIME: A fájl utolsó változásának (szerkesztése) idején;
- Csoport: Csoportonként;
- ATIME: A fájl utolsó megnyitásának napjára;
- Újabb: A sablonban megadott irányelvnél több dátummal rendelkező fájl keresése;
- Méret: A fájl méretével bájtban;
- Nouser: Keressen olyan fájlokat, amelyekben nincs beírott "tulajdonos" attribútum.
Grep szintaxis:
Grep [opciók] sablon [hol kell kinézni]
A lehetőségeket további tisztító paraméterekként kell érteni, például az inverz rendszer használatát vagy egy adott sor keresését.
A sablon jelzi, hogy mit kell keresni egy közvetlenül megadott vonal vagy rendszeres kifejezés segítségével.
A rendszeres kifejezések használatának lehetősége jelentősen kibővítheti a keresési képességeket. A standard következtetés jelzése akkor hasznos lehet, ha a feladat a naplókban rögzített hibák szűrése vagy a PID -eljárás keresése a PS parancs eredményeiben, amely több oldali lehet.
Vegye figyelembe a leggyakoribb GRAS paramétereket:
- -B: A kapott vonal kiadása előtt jelenítse meg a blokk számát;
- -C: ki kell számolni a kívánt fragmentum bejegyzéseinek számát;
- -I: Keresés regisztráció nélkül;
- -N: kiad egy sorszámot a standard kimeneti eszköznek, amelyben a kívánt fragmentumot vagy sablont találtak;
- - L: A kiadás eredményeként csak a megtalálható keresési fragmentummal rendelkező fájlok neve;
- -S: Figyelmen kívül hagyja a hiba kimenetet;
- -W: Keressen egy fragmentumot, amelyet mindkét oldalon terek vesznek körül;
- -V: Fordított keresés, vagyis az összes olyan vonal megjelenítése, amely nem tartalmaz egy adott fragmentumot;
- -E: A paraméter azt jelzi, hogy egy olyan rendszeres kifejezés, amelynek megvan a maga szintaxis, követi;
- -AN: A kívánt fragmentum és az előző N vonalak következtetése;
- -BN: Ugyanaz, de a vonalak a sablon után mennek.
Most van értelme az elméleti részről a gyakorlatra költözni.3
Példák a segédprogramok használatára
Ha tudod, mi a kombinatorika, akkor a keresési csapatok lehetséges kombinációinak valódi számát kell képviselni. Csak a leghasznosabb példákra korlátozzuk magunkat, amelyek hasznosak lehetnek a munka során.
Szöveg keresése a fájlokban
Legyen a rendszergazda jogai, és feladata, hogy egy adott felhasználót egy hatalmas jelszófájlban találjunk. Szükségünk lesz egy meglehetősen egyszerű csapatra, amely jelzi a fájlfeladási elérési utat:
Grep nameuser /etc /passwd
Ha a keresési eredmény pozitív, akkor a következő típusú sort kapunk:
NameUser: X: 1021: 1021: NameUser ,,,:/Home/felhasználó:/bin/bash
Ha egy szöveges töredéket kell keresnie anélkül, hogy figyelembe venné a nyilvántartási nyilvántartást, akkor a csapat így fog kinézni:
Gras -i "nameuser" /etc /passwd
Ebben az esetben a NameUSer felhasználó és annak "névmáska" név -felhasználója, valamint az összes többi lehetséges kombináció megtalálható.
Több sor befejezése
Szerezzünk be minden hibát az Xorg ablak naplójából.fatörzs. A feladatot bonyolítja az a tény, hogy az értékes információkat tartalmazó hibás karakterlánc követése követhet. Úgy döntenek, ha arra kényszerítjük a parancsot, hogy több sort jelenítsen meg a "PP" sorban sablonként:
Gras -a5 "pp"/var/log/xorg.0.fatörzs
Kapunk egy slort, amely sablont és 5 sort tartalmaz.
Gras -c3 "pp"/var/log/xorg.0.fatörzs
Vonalkimenet a szöveg töredékével és három sorával és utána és utána.
Rendszeres kifejezések használata a grep -ben
Ez az egyik legerősebb Linux eszköz, amely jelentősen kibővíti a keresési sablon kialakításának lehetőségét. A rendszeres kifejezéseknek megvan a saját szintaxisuk, meglehetősen bonyolult. Nem belemerülünk bele, korlátozva magunkat a lakókocsi használatának példájára. Mint már tudod, annak jelzésére, hogy a rendszeres kifejezést tovább használják, a -e paramétert használják.
Engedje meg az üzenetfájlba.2 Szeptemberben minden sort el kell érnünk:
Grep "^szeptember 09"
Az eredmény valami hasonló lesz:
09. szeptember 01:11:45 GS124 NTPD [2243]: Idő -visszaállítás +0.197579 S
09. szeptember 01:19:10 GS124 NTPD [2243]: Idő -visszaállítás +0.203484 S
A oszlopvonal végén található sablon kereséséhez a „$” szimbólumot használjuk:
Grep "kifejezés.$ "Üzenetek
Eredmény:
Június 17. 19:01:19 Cloneme kernel: Log Daemon kifejezés.
11. szeptember 06:30:54 Kloneme kernel: Log Daemon kifejezés.
És itt van egy példa egy szabályos kifejezés használatára, amely lehetővé teszi a nulla kivételével a számokat tartalmazó sorok keresését:
Grep "[1-9]"/var/log/xorg.1.fatörzs
Rekurzív keresés használata grep -ben
Ha ismeri a "rekurzió" kifejezést, akkor a Linux -ban ezt a technikát használják, hogy egy fragmentumot keressenek a katalógusban és annak alkatáiban található számos fájlban. A -r opció jelzi a rekurzió jelenlétét. Keressen egy "nevű nevű fragmentumot.Org "fájlokban, amelyek az /etc /apache1 mappa alkatáiban találhatók:
Gras -r "nevezettomain.Org "/etc/apache1/
Az eredmény lehet ilyesmi:
/etc/apache1/vhosts.D/ Névemain.Org
Ha a fájlnév nem szükséges, akkor a -h: h: h: h: h: h: h: h:
Grep -h -r "nevű.Org "/etc/apache1/
Szavak keresése
Standard A QWE -fragmentum keresése az összes szó kibocsátásával ér véget, amelyben ez a fragmentum megtalálható: KBQWE, QWE123, AAFRQWE32. A keresés csak egy adott fragmentummal történő korlátozásához a -w paramétert kell használnia:
Gras -w "qwe" hol lehet megtalálni
Keressen két vagy több szót
Bonyolítsuk be a feladatot: meg kell találnunk az összes sort, ahol két szó található. A csapat ilyen lesz:
Gras -w "Word01 | word02" Hol talál
A vonalak száma
Ha a kiszámításra van szükség. Hányszor található a kívánt fragmentum a fájlban, a tervezést a -c paraméterrel használjuk:
Gras -c "'szöveg", ahol megtalálható
A -n paraméter segít megtudni, hogy a kívánt sablon melyik sorban található:
Gras -n "nuser" /etc /passwd
Fordított keresés a grep segítségével
Időnként a fájlok tartalmával a GREP segítségével történő keresés feladata nem a bejegyzés megtalálása, hanem az a sor, ahol ez a töredék hiányzik. A -V opció segít nekünk:
Gras -v "txt", ahol megtalálható
A fájlnév kimenete
Hagyja, hogy megtalálja az összes fájlt a megadott könyvtárban, amely tartalmazza a kívánt sablont. Ez megtehető a -l paraméter segítségével. Tehát az /etc mappában szereplő "másodlagos" karakterláncot tartalmazó fájlok kimenetének teljes parancsára a következőképpen fog kinézni:
Grep -l "másodlagos" /etc
Színkibocsátás a grep segítségével
Egy másik színnel való tartózkodás nagyszerű módja annak, hogy megjelenítse a kívánt bejegyzést, amely jelentősen csökkenti a szem terhelését, ha a műveletet gyakran végrehajtják. Kiderült, hogy a GRAS -nak lehetősége van a keresési eredmények kimenetére:
Grepor -színes "másodlagos" /etc
Figyelembe vesszük a keresési segédprogram használatának példáit a Linuxban.
Keressen az összes fájlt
Az aktuális katalógusban található fájlok listájának visszavonásához a következő formátumban használjuk a parancsot:
megtalálja .
Ha meg kell mutatnia a fájlok teljes nevét, akkor a parancsot használjuk
megtalálja . -Nyomtatás
Fájl kimenet egy adott katalógusban
A Fájlok kereséséhez a felhasználó által meghatározott mappában a parancsot használjuk
megtalálja ./stb
De hogyan lehet megtalálni az adott fragmentumot tartalmazó fájlokat az aktuális katalógusban:
megtalálja . -Név "*.GIF "
Ha a keresést a regiszter elszámolása nélkül kell elvégezni, a parancsot módosítani kell:
Ne vegye figyelembe a nyilvántartást, amikor név szerint keresi:
megtalálja . -Bennem "*.GIF "
A keresés mélységének korlátozása
Egy másik meglehetősen tipikus feladat az, hogy egy adott név szerint egy adott mappában keressen fájlokat:
megtalálja . -MaxDepth01 1 -Name "*.Html "
A sablon befordítása
Már úgy gondoltuk a csapat analógját, hogy olyan vonalakat keressünk, amelyek nem tartalmaznak egy adott fragmentumot. Ugyanígy megteheti azokat a fájlokat, amelyek nem felelnek meg egy adott sablonnak:
megtalálja . -nem -name "felhasználó*"
Keresés több kritérium szerint
Példát adunk a parancssorra a kereséshez két kritérium kereséséhez, a nem (kizárás) operátor segítségével:
megtalálja . -Név "felhasználó" -not -name "*.Html "
Ebben az esetben azok a fájlok, amelyek neve tartalmaz egy felhasználói fragmentumot, de amelyek kiterjesztése van, nem találhatók. Kivétel -operátor helyett használhatja a "/" vagy ":: logikai logikai
Megtalálja -Name "*.js "-o -name"*.SQL "
Ebben az esetben teljes fájlok listáját kapjuk, amelyekben mindkét kiterjesztés az aktuális könyvtárban található.
Keresés több katalógusban
Ha két katalógusban fájlokat kell találnunk, akkor csak jelölje meg a rést:
Megtalálja -típus f ./TEST01 ./Test02 -Name "*.SQL "
Keressen rejtett fájlokat
A Linuxban, mint a Windows esetében, vannak olyan rejtett fájlok, amelyek a keresés parancs használatakor nem jelennek meg speciális szimbólum nélkül. Ez a szimbólum Tilda, és az irányelv a következő megjelenéssel rendelkezik:
Keresse meg a ~ -name -t ".*""
Keressen fájlokat a Linux -ban engedélyekkel
Időnként szükség van a katalógus kiszűrésére egy bizonyos jogok maszkjához. Például, ha a 0661 attribútummal rendelkező fájlokat kell találnunk, akkor a parancsot használjuk:
megtalálja . -Perm 0661
A fájlok szűrésének feladata a "csak az olvasáshoz" attribútummal a következőképpen oldódik meg:
Keresése /etc /user -perm /u = r
De hogyan fog kinézni a végrehajtható fájlok keresése az ETC katalógusban:
Link /etc -perm /a = x
Fájlok keresése csoportok/felhasználók szerint
Az adminisztrátornak gyakran szembesülnie kell az adott felhasználó és/vagy csoport tulajdonságaira vonatkozó fájlok keresésével. A felhasználó keresése:
megtalálja . -Felhasználói szlavko
Felhasználói csoportokhoz egy másik paramétert használnak:
Keresse meg az /var -group devs -t
Keresés az utolsó módosítás dátuma szerint
A fájl dátumának látható formátuma a Linux OS -ben pontosan a módosításának dátuma (ugyanazt az alapelvet használják a Windows -ban). A lista kialakításához dátum szerint az MTIME opciót használjuk. Tegyük fel, hogy két hónappal ezelőtt megváltozott fájlokat kell találnunk:
Find /Home -mtime 60
A fájl attribútumai között van az utolsó felfedezés dátuma (változtatások nélkül). Az ilyen fájlokat a következő parancs jeleníti meg:
Keres /Home -60
Beállíthatja az időintervallumot is. A négy -két hónappal ezelőtt módosított fájlok kereséséhez az irányelvet használjuk:
Find /Home -mtime +60 -mtime -120
De hogyan lehet frissen megváltozott fájlokat találni (két órával ezelőtt):
Find /Home -Cmin 120
Fájlok keresése méret szerint
Gyanítsuk, hogy valaki lemezeket használ filmekhez? Fájlokat keresünk az 1. méretben.4GB:
Keresse meg a / -ize 1400m -t
Vagy használja a tartományt:
Keresse meg a / -ize +1400 m méretű -2800 m
Keressen üres fájlokat/katalógusokat
Igen, ne lepődj meg. A rendelés visszaállításának feladata a médián nem csak az Android OS -re jellemző. Linuxban egy ilyen irányelv segítségével döntenek:
Find /var -Type f -impty
Példa a talált fájlokkal rendelkező műveletekre
A Linuxban a Find Team rekurzív módon végezhet bizonyos műveleteket ezekkel a fájlokkal, az elvégzendő kereséssel. A fájlparancsok végrehajtásához az EXEC paramétert kell használnia. Tehát az LS parancs használatával kapcsolatos összes fájlra vonatkozó információk megjelenítésének irányelve így fog kinézni:
megtalálja . -Exec ls -l \;
De hogy egyszerűen törölheti az ideiglenes fájlokat egy adott maszkkal a könyvtárban /otthoni /hőmérsékleten:
Find /TMP -Type f -name "*.html ”-exec rm -f \;
Természetesen egy kezdő számára, egy hatalmas számú opcióval rendelkező parancssor használata kissé bonyolult módon tűnik, de Linuxban a dolgok sorrendjében van. És hogyan oldaná meg a Windowsban leírt problémákat? Ugyanaz. Ebben a tekintetben a Linux egyértelműen előtt áll.
- « Hogyan lehet a számítógépet a hangparancsok segítségével vezérelni
- E -könyv (könyvolvasó) kiválasztása az olvasáshoz »