Šeit ir daži piemēri, kurus mēs varam izmantot, kad izmantojam atrast, komandu failu vai mapju meklēšanai.
Lai saņemtu palīdzību komandu izpildē:
man find
lai izietu no rokasgrāmatas, vienkārši nospiediet taustiņu [q] (der jebkurai rokasgrāmatai).
Turpmākajos piemēros periods (.) Pēc atrašanas (atrašana) nozīmē, ka mēs meklējam mapē, kuru norāda uzvedne. To var aizstāt ar jebkuru derīgu ceļu, piemēram, / home /.
Piemēri:
Vienkārši meklējiet failus ar paraugu.
find . -type f -name "*.deb"
atrodiet un nokopējiet uz / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
Atrodiet Thumbs.db failus un izdzēsiet tos.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
Izveidojiet tīru teksta failu ar direktorijā esošajiem failiem md5.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
Dzēst kaitinošās .svn mapes.
find | grep "\.svn$" | xargs rm -fr
Aizstājiet vienu tekstu ar citu.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
Atrodiet failus, kas atjaunināti pirms dienas.
find /var/log/[a-z]* \*.sql -mtime +1
Lai ģenerētu DEB pakotņu failus md5sums:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
izdzēst visus failus, izņemot .txt (acīmredzot .txt var būt jebkas)
atrast. ! -nosaukums "* .txt" -exec rm {} \;
meklēt bez lielo un mazo burtu lietojuma:
atrast. -inamā «* foobar *»
Piezīme: komandu -exec nevar palaist ar parametru -inam.
Izcili - šī komanda jāzina obligāti, pirms mani nobiedēja “cilvēkā” esošās iespējas veikt meklēšanu, taču dodot tai iespēju, es redzēju, cik spēcīga tā ir, kad jāatrod aizmirstais uz mana cietā diska 😐
Programma Atrast noteikti ir noderīga, jo īpaši attiecībā uz failu nosaukumiem, kas ietver atstarpes un citas neparastas rakstzīmes. Piemēram, es atceros vienu reizi, ka es nekādi nevarēju saspiest direktoriju kopu, līdz man ienāca prātā izmantot find ar xargs (kas, starp citu, ir daudz ātrāk nekā -exec), un problēma tika atrisināta.
Vēl viens no maniem vēlamajiem komandas izmantošanas veidiem ir rekursīvi mainīt atļaujas:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
Interesanti ^ _ ^
Cik forši čakras ikona izskatās hahahahahaha 😀
Mageia ir pazudusi 🙂
Jā, pareizi 😀
Šobrīd es balstos uz šo hehehehe. Paldies 🙂
Un viens manam izplatītājam ...
Paldies, komandas ir ļoti noderīgas. Man ir šaubas, vai es atceros, ka Ubuntu es kādreiz izmantoju komandu locate, vai tas ir kāds atrašanas vai aizstājvārds ...
Negatīvs izvietot, mlocate y slocēt ir citas meklēšanas komandas, kas atšķirībā no atrast, viņi izmanto datu bāzi, kas periodiski jāatjaunina ar komandu atjauninātsb.
Abiem komandu veidiem ir savs pielietojums. Es, piemēram, parasti lietoju atjauninātsb pēc tam mlocateatrodiet, kad es patiešām vēlos atrast kaut ko ātru direktorijā, kurā ir daudz datu, kas, manuprāt, netiek pārāk bieži atjaunināti (piemēram, pakete repozitorijā), un atrast kad es vēlos izdarīt kaut ko sarežģītāku, piemēram, apvienot meklēšanas rezultātus ar citu komandu, vai kad es vienkārši nevēlos ģenerēt datu bāzi, jo es zinu, ka direktorijā, kurā es meklēju, nav pārāk daudz informācijas.
Liels paldies Hugo, lielisks paskaidrojums, es varu pateikt tikai to, cik jaudīgs termināls ir gnu / linux!
Sveiki, es redzu, ka šī ir veca tēma, bet cerams, ka jūs joprojām varat man palīdzēt.
Es mācos izmantot regexp, jo es redzēju dokumentu, un es meklēju vārdus kļūda vai neizdoties, un to atvasinājumu kļūdas vai neizdevās, vai neizdevās utt., Un mans regexp ir:
: / \ (. * \ (kļūda | neizdodas \). * \) /
Izpildot to, man saka, ka nav atbilstību 🙁, bet uz
: / \ (. * \ (kļūda \). * \) /
o
: / \ (. * \ (neizdodas \). * \) /
Ja atrodat sērkociņus, vai varētu pateikt, kā es kļūdos?
Kāda ir pilna rinda, kuru jūs ievietojat?
Lai pārbaudītu un redzētu, vai atrodu risinājumu.
No otras puses, jebkurā gadījumā, ja vēlaties, varat pārbaudīt šeit: https://blog.desdelinux.net/?s=expresiones+regulares
Lūdzu, palīdziet man, es vēlos nokopēt failus, kas beidzas ar * _ZFIR0069.TXT, uz citu ceļu un beigās pievienot datumu, es daru komandu:
datums = $ (datums + »% Y% m% d%»)
atrast / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;
Bet rezultāts ir:
{} _20160225% -> bet tas no visiem failiem kopē tikai vienu failu un tiek pārdēvēts tādā veidā
Es vēlos, lai tas nokopētu visus failus un izmantotu šo formātu * _ZFIR0069_ $ date .TXT
Sveicieni.
Kāda ir atšķirība starp meklēšanu * - d tips un find / home / pepe - d tipu? Es vēlos uzskaitīt sava konta direktorijus un nesaprotu, kāpēc pirmais to dara pareizi, bet otrais - ne. palīdzēt
Kā es varu atrast failus, kas beidzas ar skaitļiem? Paldies