Íme néhány példa, amelyeket kihasználhatunk, amikor használjuk Találjon, fájlok vagy mappák keresésére szolgáló parancs.
Ha segítségre van szüksége a parancsfuttatáshoz:
man find
a kézikönyv elhagyásához csak nyomja meg a gombot [Q] (bármely kézikönyvre érvényes).
A következő példákban a periódus (.) A keresés (keresés) után azt jelenti, hogy a prompt által jelzett mappában keresünk. Bármely érvényes útvonal helyettesíthető, például / home /.
Példák:
Csak keressen fájlokat mintával.
find . -type f -name "*.deb"
megkeresés és másolás a / home / pepe / könyvtárba
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
Keresse meg a Thumbs.db fájlokat, és törölje őket.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
Hozzon létre egy tiszta szöveges fájlt az md5 fájlokkal a könyvtárban.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
Törölje a bosszantó .svn mappákat.
find | grep "\.svn$" | xargs rm -fr
Cserélje le az egyik szöveget egy másikra.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
Legutóbb frissített fájlok keresése.
find /var/log/[a-z]* \*.sql -mtime +1
A DEB csomagok md5sums fájljainak előállításához:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
törölje az összes fájlt, kivéve a .txt fájlt (a .txt nyilvánvalóan bármi lehet)
megtalálja. ! -name "* .txt" -exec rm {} \;
keresés kis- és nagybetűk nélküli egyezések nélkül:
megtalálja. -iname «* foobar *»
Megjegyzés: az -exec parancs nem futtatható a -iname paraméterrel.
Kiváló 😉 ezt a parancsot kötelezően ismernie kell, mielőtt megijedtem az „emberben” meglévő lehetőségektől, hogy képesek legyek kereséseket végezni, de lehetőséget adva rá, hogy láthatom, milyen erős, amikor megtalálom, amit elfelejtettem a merevlemezemen 😐
A Keresés minden bizonnyal hasznos, különösen a szóközöket és más szokatlan karaktereket tartalmazó fájlnevek kezelésében. Például emlékszem egyszer, hogy semmilyen módon nem sikerült a könyvtárak tömörítését, amíg fel nem merült bennem, hogy a keresést használjam az xargs-szal (ami egyébként sokkal gyorsabb, mint az -exec), és a probléma megoldódott.
A find parancs másik előnyös használata az engedélyek rekurzív módosítása:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
Érdekes ^ _ ^
Mennyire néz ki a csakra ikon hahahahahaha 😀
Mageia eltűnt 🙂
Igen, 😀
Jelenleg ezen a hehehehe-n alapulok. Köszönöm 🙂
És egyet a terjesztésemre ...
Köszönöm, a parancsok nagyon hasznosak, kétlem, hogy emlékszem, hogy az Ubuntuban egyszer a locate parancsot használtam, ez valami alias a find vagy ...
Negatív. elhelyez, mlocate y görcsölni más keresési parancsok, amelyek nem talál, olyan adatbázist használnak, amelyet rendszeresen frissíteni kell a paranccsal frissítve b.
Mindkét típusú parancsnak van felhasználása. Én például általában használom frissítve b majd ezt követi mlocatekeresse meg, amikor valóban szeretnék valami gyorsat találni egy olyan könyvtárban, ahol sok olyan adat található, amelyről tudom, hogy nem frissül túl gyakran (például egy csomag a tárban), és talál amikor valami összetettebb dolgot akarok végrehajtani, például a keresési eredmények kombinálását egy másik paranccsal, vagy amikor egyszerűen nem akarom létrehozni az adatbázist, mert tudom, hogy az a könyvtár, amelyben keresni fogok, nem tartalmaz túl sok információt.
Köszönöm szépen Hugo, kiváló magyarázat, csak azt tudom mondani, hogy a terminál milyen erős a gnu / linux-ban!
Szia, látom, hogy ez egy régi téma, de remélhetőleg még mindig tudsz segíteni nekem.
Megtanulom használni a regexp-et, mivel láttam egy dokumentumot, és a hibát vagy a sikertelenséget és a derivált hibákat vagy a sikertelen vagy sikertelen stb szavakat keresem, és a regexp a következő:
: / \ (. * \ (hiba | sikertelen). * \) /
A végrehajtáskor azt mondja nekem, hogy nincsenek egyezések 🙁, hanem
:/\(.*\(hiba\).*\)/
o
: / \ (. * \ (sikertelen). * \) /
Ha talál találatokat, elmondanád, hogy tévedek?
Mi a teljes sor, amit teszel?
Kipróbálni, és hátha megtalálom a megoldást.
Másrészt, ha szeretné, itt ellenőrizheti: https://blog.desdelinux.net/?s=expresiones+regulares
Kérem, segítsen nekem, át akarom másolni a * _ZFIR0069.TXT végződésű fájlokat egy másik útvonalra, és egy dátumot szeretnék hozzáadni a végén, parancsot hajtok végre:
dátum = $ (dátum + »% Y% m% d%»)
find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;
De az eredmény:
{} _20160225% ->, de csak egy fájlt másol az összesből, és így nevezik át
Azt akarom, hogy másolja át az összes fájlt, és ez a formátum legyen * _ZFIR0069_ $ date .TXT
Üdvözlet.
Mi a különbség a find * -típus d és a find / home / pepe -típus d között? Szeretném felsorolni a fiókom könyvtárait, és nem értem, miért az első helyesen, a második miért nem. Segíteni
Hogyan találhatom meg a számokkal végződő fájlokat? Köszönöm