Fájlkeresés terminálból Linux alatt
A most következő leírásban bemutatom, hogyan tudunk fájlokat keresni Linux terminálját (konzolt) használva, tehát nem grafikus felületről.
A keresést a find nevű programmal tudjuk végrehajtani. A programnak első paraméterként azt kell átadnunk, hogy hol keresünk, majd ezután jönnek a különböző szűkítések.
Ha kiadjuk a find parancsot paraméterek nélkül, akkor az adott mappában (könyvtárban) és az ez alattiakban lévő fájlokat és mappákat listázza ki.
Ha paraméterként csak egy elérési útvonalat adunk meg, akkor az ott és az alatt lévő fájlokat és mappákat listázza ki.
find /home/charlie
Lehetőségünk van több elérési út megadására is, ekkor mindegyikben keresni fog.
find /home/charlie /root
Pár példán keresztül nézzük, milyen paramétereket lehet átadni. a /path mappában keresek itt most.
Üres mappák keresése
find /path -depth -type d -empty
A type értékkel adjuk meg, hogy mappát keresünk. A mappát itt a d betű takarja. A empty paraméterrel pedig megadjuk, hogy üres elemeket keresünk.
Üres fájlok keresése
find /path -depth -type f -empty
Ugyanaz mint mappák esetén, csak itt a type f paramétert kap, ami a fájlokat jelenti.
Fájlnévre keresés
find /path -name '*név*'
A name paraméterben tudjuk átadni, hogy adott fájlnévre, névtöredékre keressen. A joker karakterek használhatóak. Ne felejtsük el idézőjelek közé tenni a fájlnevet!
Adott kiterjesztésű fájl keresése
find /path -name "*.kiterjesztes"
Megadott jogú fájl keresése
find /path -perm -JOGOK
A perm kapcsolóval kereshetünk jogosultság alapján is. Ide a fájl jogokat kell megadni oktálisa, számokkal. Pl. a mindenki által írható fájlok: 666 a mindenki által írható mappák 777
A Linuxos jogosultságokról bővebben itt lehet olvasni.
Megadott kiterjesztésű és megadott jogú fájl keresése
find /path -name '*.kiterjesztes' -perm 644
Természetesen több feltételt is megadhatunk…
Olyan fájlok keresése amik az utolsó N órában lettek módosítva
find /path -mtime n
Ahol N:
- 0 esetén az utolsó 24 óra
- 1 esetén az utolsó 48 óra
- 2 esetén az utolsó 72 óra
Megadott (root) tulajdonosú fájlok keresése
find /path -user root
A user paraméterrel megadhatjuk, hogy a megadott nevű felhasználó tulajdonában lévő fájlokat vagy mappákat keressük.
Keresés eredményeképpen kapott fájlok törlése
find /path -name mytestfile | xargs rm
A find parancs által adott találatokat pipeon keresztül ( | ) átirányíthatjuk az xargs-nak, melynek segítségével műveleteket hajthatunk végre a fájlokkal, mappákkal.
Nagy segítség lehet még a cikket olvasók számára a következő pár szösszenet:
Üres mappák keresése és törlése:
Megkeressük a „.~1~” részletet a file nevében és amelyekben megtaláluk, azokat töröljük:
Minden *.h kiterjesztésű fileban megkeressük a „raoul” szót és kiíratjuk a sor számát ahol megtaláltuk:
Remélem hasznos volt!
Még több linuxos okosság az „ömlesztett jegyzeteim” között: (többnyire angolul)
http://sites.google.com/site/ikonsnotebook/home