{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

如何使用Find命令在Linux中查找文件?

weizxweizx 回答0 收藏1
收藏問題

1條回答

gxyz

gxyz

回答于2022-06-28 10:09

說起find這個命令很基礎也很重要,用好了可以干很多事情,參數也很多,筆者也不一一贅述,挑常用的說說。

find 格式:


用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [ path...] [expression]

主要部分find 后緊跟要搜索的目錄,比如搜索/usr 就是find /usr

關于參數我就說幾個比較重要的:

1、-type 用于搜索的類型,比如d為目錄 ,l 為軟鏈接,f 為文件,f用的多。

比如搜索/usr的文件,就是:

find /usr -type f

這個的好處是去除了搜索結果中的目錄,默認是帶目錄的,如果不慎重再做進一步操作(-exec),如刪除時候會誤刪除,小編的血的教訓。所以不論任何時候都加上-type f

2、-name xxx 搜索文件名,這個最常用。為啥呢,搜索文件名呀,都是用這個。注意的時候這個地方的名稱是支持泛查詢的,比如要查詢python原文件,可以用:

find /usr/ -type f -name *.py

結果如下(各個機器可能結果不一樣)

3、-mtime n 文件修改時間,類似的有-atime 創建時間 -ctime 訪問時間 。為啥這個常用呢,主要用它查文件變化,比如網站目錄被篡改了,用這個一查就查的到,蟲蟲有個一個模塊就是基于這個來防止網站被篡改的,我的早期的文章中有寫,關注蟲蟲就能看得到。

比如網站目錄中,我們要查找下最近7天內變化的文件,就可以用下面的命令(假設網站更目錄為/web):

find /web -type f -mtime -7

注意 -mtime 后面數字n 表示n天 +n表示超過n天 ,-n表示n天內。

4、-perm 根據權限查找,比如

find ~ -perm 0700 查找你當前用戶目錄下文件權限為用戶可讀寫執行的。

5、-size (+-)n[mkc], 根據文件大小查詢,比如查詢文件大小為小于10k的

find ~ -size -10k

注意,加減表示大于小于不帶的話是恰好,m是兆字節,k是千字節,c字節,這個值和默認ls -l出來大小不帶單位的值類似:上面截圖展示了,我們搜索大小 5682c的文件,恰好就是ls -al顯示出來的大小5682的 .viminfo文件。

其他更多參數就不多說了。

find 和其他命令配合

find 可以和其他命令組合用,比如find搜出來的文件列表,可以用grep 在做下搜索,比如搜索python源文件,還可以用

find /usr -type f |grep ".py"

可以用find生成文件列表,把列表傳遞個grep 對文件做搜索

比有兩個文件 a,b內容如下:我們搜索兩個文件中包含hello word的行:

grep "hello word" `find -type f`

搜索包含chongchong的行:

grep "chongchong" `find -type f`注意上面find -type f外面是反引號,表示執行,就是Esc下面那個符號。

借助find可以做很多事情:

比如我們要刪除目錄下空文件(大小為零的),可以用:

find -type f -size 0 -exec rm {} ;

要刪除30天以前的文件用

find -type f -mtime +30 rm {} ;

這個在很多自動化任務腳本中應該有,注意要加上-type f 不然,目錄會被誤刪。

好了關于find 今天就隨手寫這么多,如果喜歡請關注蟲蟲,蟲蟲可以寫更多的內容。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<