Tu je nekaj primerov, ki jih lahko izkoristimo, ko uporabljamo Najdi, ukaz za iskanje datotek ali map.
Če želite pomoč za zagon ukaza:
man find
če želite zapustiti priročnik, samo pritisnite tipko [q] (velja za kateri koli priročnik).
V naslednjih primerih pika (.) Po iskanju (najti.) Pomeni, da iščemo v mapi, označeni s pozivom. Lahko ga nadomestite s katero koli veljavno potjo, kot je / domov /.
Primeri:
Samo poiščite datoteke z vzorcem.
find . -type f -name "*.deb"
poiščite in kopirajte na / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
Poiščite datoteke Thumbs.db in jih izbrišite.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
Ustvarite čisto besedilno datoteko z datotekami md5 v imeniku.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
Izbrišite nadležne mape .svn.
find | grep "\.svn$" | xargs rm -fr
Zamenjajte eno besedilo z drugim.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
Poiščite datoteke, posodobljene do pred enim dnevom.
find /var/log/[a-z]* \*.sql -mtime +1
Če želite ustvariti datoteke md5sums iz paketov DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
izbriši vse datoteke razen .txt (očitno je .txt lahko karkoli)
najti. ! -ime "* .txt" -exec rm {} \;
iskanje brez ujemajočih se črk:
najti. -iname «* foobar *»
Opomba: ukaza -exec ni mogoče zagnati s parametrom -iname.
Odlično 😉 ta ukaz bi moral biti obvezen, preden me je bilo strah možnosti, ki obstajajo v „človeku“, da bi lahko iskal, a dajem mu priložnost, da vidim, kako močan je, ko gre za iskanje tistega, kar sem pozabil na trdem disku 😐
Find je vsekakor koristen, zlasti za obravnavo imen datotek, ki vključujejo presledke in druge nenavadne znake. Na primer, nekoč sem se spomnil, da nikakor nisem mogel stisniti nabora imenikov, dokler se mi ni zgodilo, da bi uporabil find z xargs (kar je sicer hitreje kot -exec) in težavo rešil.
Še ena izmed mojih najljubših načinov uporabe ukaza find je rekurzivna sprememba dovoljenj:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
Zanimivo ^ _ ^
Kako kul ikona čakre izgleda hahahahahaha 😀
Mageia je pogrešana 🙂
Ja prav, 😀
Trenutno temelji na tem hehehehe. Hvala 🙂
In eno za mojo distribucijo ...
Hvala, ukazi zelo koristni, dvomim, da se spomnim, da sem v Ubuntuju nekoč uporabil ukaz locate, ali gre za kakšen vzdevek find ali ...
Negativno poiščite, mlocate y položite so drugi ukazi za iskanje, ki za razliko od iskanje, uporabljajo bazo podatkov, ki jo je treba redno posodabljati z ukazom posodobljenob.
Obe vrsti ukazov se uporabljata. Jaz na primer običajno uporabljam posodobljenob sledi mlocatepoiščite, ko resnično želim kaj hitro najti v imeniku z veliko podatki, za katere vem, da se ne posodabljajo prepogosto (na primer paket v repozitoriju), in iskanje ko želim narediti nekaj bolj zapletenega, na primer kombinirati rezultate iskanja z drugim ukazom, ali kadar preprosto ne želim generirati baze podatkov, ker vem, da imenik, v katerem bom iskal, ne vsebuje preveč informacij.
Najlepša hvala Hugo, odlična razlaga, lahko samo rečem, kako močan je terminal v gnu / linux!
Živjo, vidim, da je to stara tema, vendar upam, da mi lahko še vedno pomagate.
Učim se uporabljati regularni izraz, ker sem videl dokument, in iščem besede napaka ali neuspeh in njegove izpeljanke napake ali neuspeh ali neuspeh itd., In moj regularni izraz je:
: / \ (. * \ (napaka | neuspeh \). * \) /
Med izvajanjem mi pove, da ni ujemanj 🙁, razen da
: / \ (. * \ (napaka \). * \) /
o
: / \ (. * \ (neuspešno \). * \) /
Če najdete ujemanja, mi lahko poveste, kako se motim?
Kakšna je celotna vrstica, ki jo postavljate?
Da preizkusim in vidim, ali najdem rešitev.
Po drugi strani pa lahko, če želite, preverite tukaj: https://blog.desdelinux.net/?s=expresiones+regulares
Prosim, pomagajte mi, želim kopirati datoteke, ki se končajo z * _ZFIR0069.TXT, na drugo pot in dodati datum do konca, izvajam ukaz:
datum = $ (datum + »% Y% m% d%»)
najdi / xcom_rep / FATF / exit / 42 -ime * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;
Rezultat pa je:
{} _20160225% -> vendar kopira samo eno datoteko in se tako preimenuje
Kar hočem, je, da kopira vse datoteke in ima to obliko * _ZFIR0069_ $ date .TXT
Lep pozdrav.
Kakšna je razlika med find * -type d in find / home / pepe-type d? Želim našteti imenike svojega računa in ne razumem, zakaj prvi to počne pravilno, drugi pa ne. pomoč
Kako najdem datoteke, ki se končajo s številkami? Hvala