< Linux

Keresés Linuxon

Szerző: Sallai András

Copyright © 2019, Sallai András

Szerkesztve: 2019, 2021

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Keresésről

Kereshetünk fájl és könyvtárnevekre, vagy fájlok tartalmára.

Keresés az aktuális könyvtárban

Konkrét fájl keresése:

find adat.txt

A .txt kiterjesztésű fájlok keresése:

find *.txt

Ha rekurzívan szeretnénk az alkönyvtárakban is keresni, akkor adjuk meg, keresés helyét. Az aktuális könyvtár megadása:

find . *.txt

Így megtalálja az alkönyvtárakban található .txt kiterjesztésű fájlokat is.

Ha konkrét fájlnévre keresünk, rekurzívan használhatjuk a -name kapcsolót:

find . -name adat.txt

Keresés a gyökér könyvtártól kiindulva:

find / -name adat.txt

Keresés egy adott könyvtárban:

find /usr/share -name valami.txt

Keresés fájl vagy könyvtárnév alapján

A következő példában olyan könyvtárakat vagy fájlokat keresünk, amelynek a nevében benne van a samba:

find /home/janos -name samba

Olyan fájlokat keresünk, amely a Samba szóval kezdődik:

find /home/janos -type f -name Samba*

A kapcsolók:

-type f – csak fájlokat keresünk

-name Samba* – olyan fájlokat keresünk, ami a Samba szóval kezdődik

Keresés tartalom alapján

A következő példákban a /home/janos könyvtárban keresünk rekurzívan. Olyan fájlokat keresünk, amikben szerepel a samba-tool szó:

find /home/janos/ -type f -exec grep -H 'samba-tool' {} \;

Itt a grep parancsot futtatja a find parancs.

Lehet tisztán grep paranccsal is:

grep -rnw '/home/janos' -e 'samba-tool'

A grep kapcsolók sorra:

-r, --recursive – rekurzívan az alkönyvtárakban

-n, --line-number – a kimenetben a sorszám is szerepeljen

-w, --word-regexp – csak egész számokra illeszkedjen

Ha szeretnénk kizárni bizonyos fájlokat és könyvtárakat:

--exclude=útvonalak

--exclude-dir=útvonalak

--exclude-from=fájl

grep --exclude-dir={dir1,dir2,*.kit} -rnw '/útvonal/' -e "minta"

Színezés

A kimenet színezése:

grep --color=auto -rnw '/media/andras' -e 'samba-tool'

Keresés idő alapján

Melyik fájlt érték el 10 percen belül:

find . -amin -10

Mely fájlt érték el 10 percnél régebben:

find . -amin +10

10 perce elért fájlok:

find . -amin 10

10 napnál régebben elért fájlok és könyvtárak:

find . -atime +10

Keresés és törlés

Az aktuális könyvtárban található könyvtárak tartalmát szeretnénk törölni, de az aktuális könyvtárban található könyvtárakat szeretnénk megőrizni:

find . -mindepth 2 -exec rm -rf {} \;

A node_modules könyvtárak keresése

Csak keresés:

find . -name "node_modules" -type d -prune -exec echo '{}' \;

Keresés és törlés:

find . -name "node_modules" -type d -prune -exec rm -rf '{}' +