Siin on mõned näited, mida saame kasutamisel ära kasutada leidma, käsk failide või kaustade otsimiseks.
Abi saamiseks käsu käivitamiseks tehke järgmist.
man find
käsiraamatust väljumiseks vajutage lihtsalt klahvi [q] (kehtib mis tahes juhendi jaoks).
Järgmistes näidetes tähendab periood (.) Pärast leidmist (leidmine), mida otsime viipaga märgitud kaustas. Selle võib asendada mis tahes kehtiva teega nagu / home /.
Näited:
Otsige lihtsalt mustriga faile.
find . -type f -name "*.deb"
leidke ja kopeerige kataloogi / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
Leidke Thumbs.db-failid ja kustutage need.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
Looge kataloogis md5-failidega puhas tekstifail.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
Kustutage tüütud .svn kaustad.
find | grep "\.svn$" | xargs rm -fr
Asendage üks tekst teisega.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
Leidke faile, mida on uuendatud päev tagasi.
find /var/log/[a-z]* \*.sql -mtime +1
DEB-pakettide md5sums-failide genereerimiseks toimige järgmiselt.
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
kustutage kõik failid peale .txt (ilmselt .txt võib olla mis tahes)
leidma. ! -nimi "* .txt" -exec rm {} \;
otsing ilma tõstutundlike vasteteta:
leidma. -iname «* foobar *»
Märkus: käsku -exec ei saa käivitada parameetriga -iname.
Suurepärane 😉 selle käsu teadmine peaks olema kohustuslik, enne kui mind hirmutasid otsingu tegemise võimalused inimeses, kuid andes talle võimaluse, nägin, kui võimas see on, kui unustasin minu kõvakettal 😐
Leidmine on kindlasti kasulik, eriti failinimedega tegelemisel, mis sisaldavad tühikuid ja muid ebatavalisi tähemärke. Näiteks meenus mulle ükskord, et ma ei saanud kuidagi kataloogide komplekti kokku suruda, kuni pähe tuli mõelda, et kasutaksin otsingut xargsiga (mis on muide palju kiirem kui -exec), ja probleem lahendati.
Teine minu eelistatud kasutus käsu leidmiseks on õiguste rekursiivne muutmine:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
Huvitav ^ _ ^
Kui lahe näeb tšakraikoon välja hahahahahaha 😀
Mageia on kadunud 🙂
Jah, right
Praegu lähtun sellest hehehehest. Aitäh 🙂
Ja üks minu levitamiseks ...
Aitäh, käsud on väga kasulikud. Mul on kahtlus, et mäletan, et kasutasin kunagi Ubuntus käsku locate, kas see on mingi leidmise alias või ...
Negatiivne leidke, mlocate y asuma on muud otsingukäsud, mis erinevad leidma, kasutavad nad andmebaasi, mida tuleb käsuga perioodiliselt uuendada uuendatudb.
Mõlemat tüüpi käskudel on oma kasutusalad. Mina näiteks tavaliselt kasutan uuendatudb millele järgneb mlocateleidke siis, kui tahan tõesti leida midagi kiiret kataloogist, kus on palju andmeid, mida tean, et seda ei värskendata liiga sageli (näiteks pakett hoidlas) ja leidma kui ma tahan teha midagi keerulisemat, näiteks ühendada otsingutulemid mõne muu käsuga või kui ma lihtsalt ei soovi andmebaasi genereerida, sest ma tean, et kataloog, kust otsin, ei sisalda liiga palju teavet.
Suur aitäh Hugo, suurepärane selgitus, võin öelda ainult seda, kui võimas terminal on gnu / linuxis!
Tere, ma näen, et see on vana teema, kuid loodetavasti saate siiski mind aidata.
Õpin regexpi kasutama, kuna nägin dokumenti ja otsin sõnu tõrge või ebaõnnestumine ja selle tuletisvead või ebaõnnestunud või ebaõnnestumine jne ja minu regexp on:
: / \ (. * \ (viga | ebaõnnestus). * \) /
Selle täideviimisel ütleb see mulle, et vasteid pole 🙁 vaid
: / \ (. * \ (viga \). * \) /
o
: / \ (. * \ (ebaõnnestus). * \) /
Kui leiate vasteid, kas saaksite öelda, kuidas ma eksin?
Mis on täielik rida, mille panete?
Testimiseks ja kas leian lahenduse.
Teiselt poolt, igal juhul, kui soovite, saate seda kontrollida siit: https://blog.desdelinux.net/?s=expresiones+regulares
Palun aidake mind, ma tahan kopeerida * _ZFIR0069.TXT-ga lõppevad failid teisele teele ja lisada lõppu kuupäeva, teen käsku:
kuupäev = $ (kuupäev + »% Y% m% d%»)
find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;
Kuid tulemus on:
{} _20160225% -> kuid see kopeerib kõigist ainult ühe faili ja nimetatakse nii
Ma tahan, et see kopeeriks kõik failid ja oleks selles vormingus * _ZFIR0069_ $ date .TXT
Tervitused.
Mis vahe on otsingu * -tüübi d ja otsingu / kodu / pepe -tüübi d vahel? Tahan loetleda oma konto kataloogid ja ma ei saa aru, miks esimene teeb seda õigesti ja teine mitte. aidata
Kuidas leida faile, mis lõpevad numbritega? Aitäh