Ar termināli: piemēri ar komandu Find

Š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


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

16 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   pienācīgs teica

    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.

  2.   taregons teica

    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 😐

  3.   Hugo teica

    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

  4.   elektrons222 teica

    Interesanti ^ _ ^

    1.    KZKG ^ Gaara teica

      Cik forši čakras ikona izskatās hahahahahaha 😀

      1.    84 teica

        Mageia ir pazudusi 🙂

        1.    KZKG ^ Gaara teica

          Jā, pareizi 😀
          Šobrīd es balstos uz šo hehehehe. Paldies 🙂

          1.    lesterzone teica

            Un viens manam izplatītājam ...

  5.   Arhero teica

    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 ...

    1.    Hugo teica

      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.

      1.    Arhero teica

        Liels paldies Hugo, lielisks paskaidrojums, es varu pateikt tikai to, cik jaudīgs termināls ir gnu / linux!

  6.   sandra teica

    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?

    1.    KZKG ^ Gaara teica

      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

  7.   Esthefani teica

    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.

  8.   pepG teica

    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

  9.   kaike teica

    Kā es varu atrast failus, kas beidzas ar skaitļiem? Paldies