Tartalomjegyzék
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 '{}' +