Terminal ile: Bul komutuyla örnekler

İşte kullandığımız zaman yararlanabileceğimiz bazı örnekler bulmak, dosyaları veya klasörleri aramak için bir komut.

Çalıştır komutuyla ilgili yardım almak için:

man find

kılavuzdan çıkmak için sadece tuşuna basın [Q] (herhangi bir kılavuz için geçerlidir).

Aşağıdaki örneklerde nokta (.) Bulduktan sonra (bul.) Bilgi istemi tarafından belirtilen klasöre baktığımız anlamına gelir. / Home / gibi herhangi bir geçerli yolla değiştirilebilir.

Örnekler:

Desenli dosyaları aramanız yeterlidir.
find . -type f -name "*.deb"

bul ve / home / pepe / dizinine kopyala
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Thumbs.db dosyalarını bulun ve silin.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Dizindeki md5 dosyalarıyla saf bir metin dosyası oluşturun.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Can sıkıcı .svn klasörlerini silin.
find | grep "\.svn$" | xargs rm -fr

Bir metni diğeriyle değiştirin.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Bir gün öncesine kadar güncellenen dosyaları bulun.
find /var/log/[a-z]* \*.sql -mtime +1

DEB paketlerinin md5sums dosyalarını oluşturmak için:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   uygun dijo

    .txt dışındaki tüm dosyaları silin (tabii ki .txt herhangi bir şey olabilir)
    bul. ! -name "* .txt" -exec rm {} \;

    büyük / küçük harfe duyarlı eşleşmeler olmadan ara:
    bul. -iname «* foobar *»

    Açıklama: -exec komutu -iname parametresiyle çalıştırılamaz.

  2.   dara dijo

    Mükemmel 😉 bu komut, aramaları yapabilmek için 'adam'da var olan seçeneklerden korkmadan önce bilmem zorunlu olmalı, ancak ona fırsat vererek unuttuğum şeyi bulma konusunda ne kadar güçlü olduğunu görebildim sabit sürücümde 😐

  3.   Hugo dijo

    Bul, özellikle boşluklar ve diğer alışılmadık karakterler içeren dosya adlarıyla uğraşırken kesinlikle yararlıdır. Örneğin, bir defasında bir dizi dizini sıkıştırmayı başaramayacağımı hatırlıyorum, ta ki xargs ile bul'u kullanmam (bu arada -exec'den çok daha hızlı) ve problem çözülene kadar.

    Find komutu için tercih ettiğim kullanımlardan bir diğeri de izinleri yinelemeli olarak değiştirmektir:


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

  4.   elektron222 dijo

    İlginç ^ _ ^

    1.    KZKG ^ Gaara dijo

      Çakra simgesi ne kadar havalı görünüyor hahahahahaha 😀

      1.    Sieg84 dijo

        Mageia eksik 🙂

        1.    KZKG ^ Gaara dijo

          Evet doğru 😀
          Şu anda bu hehehehe'ye dayanıyorum. Teşekkürler 🙂

          1.    Lesterzone dijo

            Ve dağıtımım için bir tane ...

  5.   Archero dijo

    Teşekkürler, komutlar çok kullanışlı, Ubuntu'da bir zamanlar locate komutunu kullandığımı hatırladığımdan şüphem var, find veya ...

    1.    Hugo dijo

      Olumsuz. yerleştirmek, mlokate y yer benzemeyen diğer arama komutlarıdır bulmak, komutla periyodik olarak güncellenmesi gereken bir veritabanı kullanıyorlar güncellenmişb.

      Her iki tür komutun da kullanımları vardır. Örneğin genellikle kullanırım güncellenmişb takip eden mlokateçok sık güncellenmediğini bildiğim çok fazla veriye sahip bir dizinde gerçekten hızlı bir şey bulmak istediğimde (örneğin, bir depodaki bir paket) bulun ve bulmak arama sonuçlarını başka bir komutla birleştirmek gibi daha karmaşık bir şey yapmak istediğimde veya sadece veritabanını oluşturmak istemediğimde, çünkü arayacağım dizinin çok fazla bilgi içermediğini biliyorum.

      1.    Archero dijo

        Çok teşekkür ederim Hugo, mükemmel açıklama, terminalin ne kadar güçlü olduğunu sadece gnu / linux'ta söyleyebilirim!

  6.   Sandra dijo

    Merhaba, bunun eski bir konu olduğunu görüyorum, ama umarım hala bana yardım edebilirsin.

    Bir belgeyi gördüğümden beri regexp kullanmayı öğreniyorum ve error veya fail kelimelerini ve bunların türev hatalarını veya başarısız veya başarısızlıklarını vb. Arıyorum ve normal ifadem:
    : / \ (. * \ (hata | başarısız \). * \) /
    Yürütürken, bana hiçbir eşleşme olmadığını söylüyor 🙁
    :/\(.*\(hata\).*\)/
    o
    : / \ (. * \ (başarısız \). * \) /
    Kibrit bulursan, bana ne kadar yanıldığımı söyleyebilir misin?

    1.    KZKG ^ Gaara dijo

      Sizin koyduğunuz satırın tamamı nedir?

      Çözümü bulup bulmadığımı test etmek ve görmek için.

      Öte yandan, yine de isterseniz buradan kontrol edebilirsiniz: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   esthefani dijo

    Lütfen bana yardım edin, * _ZFIR0069.TXT ile biten dosyaları başka bir yola kopyalamak ve sonuna bir tarih eklemek istiyorum, bir komut yapıyorum:

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

    Ancak sonuç şudur:

    {} _20160225% -> ancak tümünün yalnızca bir dosyasını kopyalar ve bu şekilde yeniden adlandırılır

    İstediğim, tüm dosyaları kopyalaması ve bu biçime sahip olması * _ZFIR0069_ $ date .TXT

    Selamlar.

  8.   pepG dijo

    Find * -type d ve find / home / pepe -type d arasındaki fark nedir? Hesabımın dizinlerini listelemek istiyorum ve neden ilkinin bunu doğru yaptığını ve ikincisinin neden yapmadığını anlamıyorum. yardım etmek

  9.   Kaike dijo

    Sayılarla biten dosyaları nasıl bulabilirim?