在終端上:使用Find命令的示例

以下是一些使用時可以利用的示例 發現,用於搜索文件或文件夾的命令。

要獲得命令運行的幫助,請執行以下操作:

man find

離開手冊,只需按鍵 [Q] (對任何手冊均有效)。

在以下示例中,句點(。)在找到(找到)之後表示我們正在提示符下指示的文件夾中查找。 它可以替代任何有效路徑,例如/ home /。

範例:

只需搜索帶有模式的文件。
find . -type f -name "*.deb"

查找並複製到/ home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

找到Thumbs.db文件並將其刪除。
find . -type f -name "Thumbs.db" -exec rm -f {} \;

使用目錄中的md5文件創建一個純文本文件。
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

刪除煩人的.svn文件夾。
find | grep "\.svn$" | xargs rm -fr

用另一個替換一個文本。
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

查找一天前更新的文件。
find /var/log/[a-z]* \*.sql -mtime +1

生成DEB包的md5sums文件:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   正確 他說:

    刪除.txt以外的所有文件(顯然.txt可以是任何東西)
    找。 ! -name“ * .txt” -exec rm {} \;

    搜索不區分大小寫的匹配項:
    找。 -iname«* foobar *»

    註釋:-exec命令不能與-iname參數一起執行。

  2.   塔里貢 他說:

    太好了–在令“人”中存在的選項使我不敢進行搜索之前,應該強制性地知道此命令,但是給它機會,當我發現遺忘的內容時,我可以看到它有多麼強大在我的硬盤上😐

  3.   雨果 他說:

    查找肯定有用,特別是在處理包含空格和其他不尋常字符的文件名時。 例如,我記得曾經沒有辦法設法壓縮一組目錄,直到我想到將它與xargs一起使用find(順便說一下,它比-exec快得多),問題得以解決。

    我對find命令的首選使用的另一個用途是遞歸地更改權限:


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

  4.   電子222 他說:

    有趣的^ _ ^

    1.    KZKG ^ Gaara 他說:

      脈輪圖標看起來多麼酷hahahahahaha😀

      1.    圍攻84 他說:

        瑪吉亞失踪🙂

        1.    KZKG ^ Gaara 他說:

          是的,😀
          現在我是基於這個呵呵呵。 謝謝🙂

          1.    萊斯特區 他說:

            還有一個供我發行...

  5.   Archero 他說:

    謝謝,這些命令非常有用,我懷疑我還記得在Ubuntu中我曾經使用過locate命令,它是find還是...的別名?

    1.    雨果 他說:

      負的。 定位, 遷移 y 定位 與其他搜索命令不同的是 ,他們使用需要使用以下命令定期更新的數據庫 更新b.

      兩種命令都有其用途。 我例如通常使用 更新b 接下來 遷移在我真正想要快速查找包含大量我不經常更新的數據的目錄(例如,存儲庫中的軟件包)時查找,以及 當我想做一些更複雜的事情,例如將搜索結果與另一個命令結合在一起時,或者當我不想生成數據庫時,因為我知道我要搜索的目錄中沒有太多信息。

      1.    Archero 他說:

        非常感謝Hugo,很好的解釋,我只能說終端在gnu / linux中有多強大!

  6.   桑德拉 他說:

    嗨,我看到這是一個古老的話題,但是希望您仍然可以幫助我。

    我正在學習使用正則表達式,因為我看到了文檔,並且正在尋找錯誤或失敗及其派生錯誤,失敗或失敗等詞,而我的正則表達式為:
    :/ \(。* \(錯誤|失敗\)。* \)/
    執行它時,它告訴我沒有匹配項🙁
    :/\(。*\(錯誤\)。*\)/
    o
    :/ \(。* \(失敗\)。* \)/
    如果找到匹配項,您能告訴我我錯了嗎?

    1.    KZKG ^ Gaara 他說:

      您要輸入的完整字是什麼?

      測試並查看是否找到解決方案。

      另一方面,無論如何,您可以在此處進行檢查: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   埃斯特法尼 他說:

    請幫助我,我想將* _ZFIR0069.TXT結尾的文件複製到另一個路徑,並在最後添加一個日期,我正在執行以下命令:

    日期= $(日期+»%Y%m%d%»)
    查找/ xcom_rep / FATF /退出/ 42 -name * _ZFIR0069.TXT -exec cp -p {} /備份/ FATF / exit / 42 / {} _ $ date \;

    但是結果是:

    {} _20160225%->但它只複製一個文件,並以這種方式重命名

    我想要的是複制所有文件並具有此格式* _ZFIR0069_ $ date .TXT

    問候。

  8.   聚乙二醇 他說:

    find * -type d和find / home / pepe -type d有什麼區別? 我想列出我的帳戶的目錄,但我不明白為什麼第一個正確地做到了,而第二個卻不正確。 幫忙

  9.   凱克 他說:

    如何找到以數字結尾的文件?