[[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 '{}' +