0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

詳談Linux的find命令

如意 ? 來源:CSDN ? 作者:CaspianSea ? 2020-06-23 09:43 ? 次閱讀

find 是 Linux 下最有用的命令之一,熟練的使用它對于提高工作效率很有幫助。下面介紹它的一些用法

1. 最基本的 用法是:

find dir

這時,它將列出目錄 dir下所有的文件和目錄。

它相當于 find dir -print

如果使用 print0, 那么,每個匹配的文件名字之間用一個 ‘\0’ 分割(默認用的是換行符)。如果文件名包含空格的話,可以使用 print0

2. 按名字搜索使用 -name 選項。如果要使用兩個搜索標準來搜索滿足其中之一的文件,可以使用 -o (or)。

ls

A file dir1 dir2 dir3 file file1 file2 picture1 picture2 picture3

charles@taotao:~/test$ find 。 \( -name “*dir*” -o -name “*file*” \) -print

。/file2

。/A file

。/file1

。/dir3

。/dir1

。/file

。/dir2

-path選項則會把匹配的文件名或者路徑名搜出來。

3. -regex 使用正則匹配。

ls

1.txt A file b.mp3 dir1 dir3 file1 picture1 picture3

2.txt a.mp3 c.avi dir2 file file2 picture2

charles@taotao:~/test$ find 。 -regex “.*\(\.mp3\|\.avi\)$”

。/a.mp3

。/b.mp3

。/c.avi

4. 找出不符合搜索條件的文件,可以使用 ?。?/p>

$ find 。 ! -name “*.txt”

。

。/file2

。/A file

。/picture3

。/file1

。/picture2

。/dir3

。/a.mp3

。/dir1

。/picture1

。/file

。/b.mp3

。/dir2

。/c.avi

5. 路徑搜索深度。

默認下,find 會遞歸搜查制定路徑下所有子目錄。可以使用 -maxdepth 和 -mindepth指定最多要搜查到指定目錄下的幾級目錄,從指定目錄的幾級目錄開始搜索。

如果要僅僅搜索當前目錄下的文件,使用 find 。 -maxdepth 1 ;如果要搜索除當前目錄下的所有文件,使用 find 。 -mindepth 2

6. 根據(jù)文件類型搜索

用 -type 指定。 常用的有 -type f (搜索文件), -type d(目錄), -type l (符號鏈接)

7. 根據(jù)文件時間。 -atime (上一次的訪問時間), -mtime (文件內(nèi)容的修改時間), -ctime(文件屬性的修改時間)。時間單位是天。數(shù)字前 +表示大于,-表示小于。

find 。 -type f -atime -7 -print

搜索最近7天內(nèi)被訪問的文件

另外還有分鐘為單位的選項: -amin, -mmin, -cmin.用法類似。

8. 根據(jù)文件大小搜索。使用 -size選項。后面的數(shù)字同樣可使用 +/-號。 數(shù)字后面跟后綴表示單位: b: 512 字節(jié)的 block; c: 字節(jié); w: 2 字節(jié); k: 1024 字節(jié); M: 兆字節(jié); G: 1024 兆

/media/DATA/video$ find 。 -type f -size +2G

。/Home Alone 1990 720p BluRay DTS x264-MgB/Home Alone 1990 720p BluRay DTS x264-MgB.mkv

。/My.Sassy.Girl.2001.720p.Blu-ray.x264.DTS-HDChina [PublicHD]/My.Sassy.Girl.2001.720p.Blu-ray.x264.DTS-HDChina.mkv

。/The Godfather part I.mkv

。/The Godfather Part 2 (1974) [1080p]/The.Godfather.Part.2.1974.1080p.BrRip.x264.BOKUTOX.YIFY.mp4

找出所有大于2G的文件。

9. 刪除匹配的文件: 用 -delete

詳談Linux的find命令

還可以用:

:/usr/local/bin$ find 。 -name “*qemu*” -exec rm {} \;

rm: remove write-protected regular file `。/qemu-io‘?

10.根據(jù)文件的屬性(讀寫,執(zhí)行權限)和所有者搜索。 使用 -perm 和 -user

詳談Linux的find命令

11. 在 find 中執(zhí)行其他的命令。 使用 -exec

詳談Linux的find命令

比如,把上面的owner為 root的改為 charles,:

{}是一個 place holder,它會被替換成搜索到的每個文件。

12. 忽略某些目錄。 使用 -prune

find 。 -name “dir1” -prune -o -type f -print

列出當前目錄下除 dir1目錄以外的所有文件。

13. 拷貝搜索到的文件到另外一個目錄。

find 。 -type f -name “*.ko” -exec cp {} ~/tmp/ \;

或者:

find 。 -type f -name “*.ko” | xargs -I {} cp {} ~/tmp

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11456

    瀏覽量

    212733
  • Find
    +關注

    關注

    0

    文章

    55

    瀏覽量

    11817
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    Linux find命令的用法

    可以很肯定地說,find 命令Linux 后臺開發(fā)人員必須熟知的操作之一,除非您使用的是 Windows Server。
    發(fā)表于 10-12 11:27 ?624次閱讀

    Linux find命令詳解

    find 命令是我們?nèi)粘9ぷ髦斜容^常用的Linux命令。全面的掌握這個命令可以使很多操作達到事半功倍的效果。如果對
    發(fā)表于 11-30 10:11 ?1740次閱讀

    掌握find命令的這幾種用法,就沒有找不到的文件!

    今天浩道跟大家分享linux下關于find命令的幾種經(jīng)典用法,讓你在linux茫茫的文件海洋中可以找出任何想要的文件!
    發(fā)表于 12-06 14:19 ?925次閱讀

    Linux內(nèi)核編譯詳談

    Linux內(nèi)核編譯詳談
    發(fā)表于 08-04 00:36

    linuxfind命令用法 linux學習心得

    find命令用來在指定目錄下查找文件的命令,和locate不同,find命令是實時精確查找,不做模糊匹配,但是可以使用通配符查找,相對更精確
    發(fā)表于 01-23 15:30

    Linux內(nèi)核編譯詳談

    Linux內(nèi)核編譯詳談
    發(fā)表于 10-30 09:51 ?7次下載
    <b class='flag-5'>Linux</b>內(nèi)核編譯<b class='flag-5'>詳談</b>

    Linux文件查找命令find,xargs詳述

    Linux文件查找命令find,xargs詳述 前言:關于find命令 由于find具有強大的功
    發(fā)表于 11-07 11:17 ?0次下載

    Linux文件管理命令語法、參數(shù)、實例全匯總

    Linux find命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數(shù),則find
    的頭像 發(fā)表于 03-14 17:48 ?4305次閱讀
    <b class='flag-5'>Linux</b>文件管理<b class='flag-5'>命令</b>語法、參數(shù)、實例全匯總

    Linux中的35個find命令用法

    Linux查找命令Linux系統(tǒng)中最重要和最常用的命令之一。查找用于根據(jù)與參數(shù)匹配的文件指定的條件來搜索和查找文件和目錄列表的命令
    的頭像 發(fā)表于 02-02 16:53 ?3907次閱讀
    <b class='flag-5'>Linux</b>中的35個<b class='flag-5'>find</b><b class='flag-5'>命令</b>用法

    深入Linux操作環(huán)境的find和exec用法

    Linux下工作,find命令絕對是一個非常高頻的命令。我們可以用find命令來找到符合某些關
    的頭像 發(fā)表于 10-08 14:50 ?5619次閱讀
    深入<b class='flag-5'>Linux</b>操作環(huán)境的<b class='flag-5'>find</b>和exec用法

    find exec命令實例教程

    Linux find命令是根據(jù)指定條件搜索文件和目錄的絕佳工具。exec允許您對找到的文件執(zhí)行指定操作。
    的頭像 發(fā)表于 12-06 17:08 ?3105次閱讀

    find命令查找技巧

    find命令是我們?nèi)粘9ぷ髦斜容^常用的Linux命令。全面的掌握這個命令可以使很多操作達到事半功倍的效果。如果對
    的頭像 發(fā)表于 03-20 09:33 ?940次閱讀

    7種LinuxFind命令的高級用法

    可以很肯定地說,find 命令Linux 后臺開發(fā)人員必須熟知的操作之一,除非您使用的是 Windows Server。
    的頭像 發(fā)表于 03-31 09:27 ?1315次閱讀

    linux中查找文件的命令

    Linux中,可以使用以下命令來查找文件: find 命令:可以在指定目錄及其子目錄中查找文件,支持根據(jù)文件名、文件類型、文件大小、文件修改時間等條件進行查找。 使用格式:
    的頭像 發(fā)表于 11-08 14:24 ?1687次閱讀

    linuxfind用法詳解

    Linux中, find 命令是一個非常強大的工具,用于在指定目錄下查找文件和目錄。下面是 find 命令的用法和詳細解釋: 語法:
    的頭像 發(fā)表于 11-08 14:29 ?976次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品