[[oktatas:linux|< Linux]] ====== Keresés Linuxon ====== * **Szerző:** Sallai András * Copyright (c) 2019, Sallai András * Szerkesztve: 2019, 2021 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|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 '{}' +