Cu terminalul: Exemple cu comanda Găsiți

Iată câteva exemple de care putem profita atunci când folosim Găsi, o comandă pentru a căuta fișiere sau foldere.

Pentru a obține ajutor pentru executarea comenzii:

man find

pentru a ieși din manual, trebuie doar să apăsați tasta [Q] (valabil pentru orice manual).

În exemplele următoare, punctul (.) După găsire (găsire) înseamnă că căutăm în folderul indicat de prompt. Poate fi înlocuit cu orice cale validă precum / home /.

Exemple:

Căutați doar fișiere cu un model.
find . -type f -name "*.deb"

găsiți și copiați în / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Găsiți fișierele Thumbs.db și ștergeți-le.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Creați un fișier text pur cu fișierele md5 din director.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Ștergeți dosarele enervante .svn.
find | grep "\.svn$" | xargs rm -fr

Înlocuiți un text cu altul.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Găsiți fișiere actualizate până acum o zi.
find /var/log/[a-z]* \*.sql -mtime +1

Pentru a genera fișierele md5sums ale pachetelor DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   adecvat el a spus

    ștergeți toate fișierele, altele decât .txt (evident .txt poate fi orice)
    găsi. ! -nume "* .txt" -exec rm {} \;

    căutați fără potriviri care să nu distingă majusculele / minusculele:
    găsi. -nume «* foobar *»

    Observație: comanda -exec nu poate fi executată cu parametrul -iname.

  2.   taregon el a spus

    Excelent 😉 această comandă ar trebui să fie obligatoriu de cunoscut, înainte să mă sperie opțiunile care existau în „om” pentru a putea face căutări, dar oferindu-i ocazia am putut vedea cât de puternică este atunci când vine vorba de a găsi ceea ce am uitat. pe hard diskul meu 😐

  3.   Hugo el a spus

    Găsirea este cu siguranță utilă, în special pentru a trata nume de fișiere care includ spații și alte personaje neobișnuite. De exemplu, îmi amintesc o dată că nu am reușit să comprim un set de directoare, până când mi-a trecut prin cap să folosesc find cu xargs (care este mult mai rapid decât -exec de altfel) și problema rezolvată.

    O altă dintre utilizările mele preferate pentru comanda find este schimbarea recursivă a permisiunilor:


    find . -type d -print0 | xargs -0 chmod 755
    find . -type f -print0 | xargs -0 chmod 644

  4.   electron222 el a spus

    Interesant ^ _ ^

    1.    KZKG ^ Gaara el a spus

      Cât de mișto arată pictograma Chakra hahahahahaha 😀

      1.    sieg84 el a spus

        Mageia lipsește 🙂

        1.    KZKG ^ Gaara el a spus

          Da, bine 😀
          Chiar acum mă bazez pe acest hehehehe. Mulțumesc 🙂

          1.    lesterzone el a spus

            Și unul pentru distribuția mea ...

  5.   Archero el a spus

    Mulțumesc, comenzile sunt foarte utile, am îndoială că îmi amintesc că în Ubuntu am folosit odată comanda de localizare, este un alias de găsire sau ...?

    1.    Hugo el a spus

      Negativ. localiza, mlocate y aloca sunt alte comenzi de căutare care spre deosebire de găsi, utilizează o bază de date care trebuie actualizată periodic cu comanda actualizatb.

      Ambele tipuri de comenzi își utilizează. De exemplu, eu folosesc de obicei actualizatb urmat de mlocatelocalizați când doresc cu adevărat să caut ceva rapid într-un director cu o mulțime de date despre care știu că nu sunt actualizate prea frecvent (de exemplu, un pachet într-un depozit) și găsi atunci când vreau să fac ceva mai complex, cum ar fi combinarea rezultatelor căutării cu o altă comandă sau când nu vreau să generez baza de date, deoarece știu că directorul în care urmează să caut nu conține prea multe informații.

      1.    Archero el a spus

        Mulțumesc foarte mult Hugo, explicație excelentă, pot spune doar cât de puternic este terminalul în gnu / linux!

  6.   Sandra el a spus

    Bună, văd că acesta este un subiect vechi, dar sper să mă puteți ajuta.

    Învăț să folosesc regexp de când am văzut un document și caut cuvintele error sau fail și erorile derivate ale acestora sau fail sau fail etc și regexp-ul meu este:
    : / \ (. * \ (eroare | eșec \). * \) /
    Când îl execut, îmi spune că nu există meciuri 🙁 decât la
    :/\(.*\(eroare\).*\)/
    o
    : / \ (. * \ (fail \). * \) /
    Dacă găsiți potriviri, mi-ați putea spune cum greșesc?

    1.    KZKG ^ Gaara el a spus

      Care este linia completă pe care o puneți?

      Pentru a testa și a vedea dacă găsesc soluția.

      Pe de altă parte, oricum, dacă doriți, puteți verifica aici: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   estefani el a spus

    Vă rog să mă ajutați, vreau să copiez fișierele care se termină cu * _ZFIR0069.TXT într-o altă cale și să adaug o dată la final, fac o comandă:

    data = $ (data + »% Y% m% d%»)
    găsi / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;

    Dar rezultatul este:

    {} _20160225% -> dar copiază doar un fișier din toate și este redenumit în acest fel

    Ceea ce vreau este să copieze toate fișierele și să aibă acest format * _ZFIR0069_ $ date .TXT

    Salutări.

  8.   pepG el a spus

    Care este diferența dintre find * -tip d și find / home / pepe -type d? Vreau să listez directoarele contului meu și nu înțeleg de ce primul îl face corect, iar al doilea nu. ajuta la

  9.   Kaike el a spus

    Cum pot găsi fișiere care se termină în cifre? Mulțumesc