8 shell命令之find

來源:互聯網
上載者:User

標籤:shell   linux   find   

find命令,像cd一樣常用.不過可能大多數時間只要那麼一兩個參數就足夠使用了.或者說,勉強夠用了.但是當我們主動的去翻看一下find的手冊,會發現原來更實用的功能都沒有用到.

本文結合自己的使用對find進行簡單的介紹.不保證全面,僅列出我在使用中受益頗多的選項.

find dir [option]  指定當前的一個目錄進行尋找.

option可以省略,如果省略的話,find會遞迴的列出目前的目錄下的所有檔案.

常用的option有很多,僅列出常用的一部分:

-name   指定檔案名稱,可以使用萬用字元,如果使用萬用字元的話,需要用雙引號擴起來.

-type    指定檔案的類型,可選的類型包括普通檔案f  目錄檔案d  符號檔案l  字元裝置c  塊裝置b等.

-size   後面可以接+-N   接+N表示超出N指定大小的檔案,-N表示小於N指定的大小.

-newer  file   列出目前的目錄以及子目錄中,新於指定file檔案的

-mtime  +-N   和size選項類似,+N表示修改時間老於指定的N*24消失.-N表示修改時間新於N*24消失.

-ctime   +-N   同上,不過表示的是檔案的狀態改變的時間,注意find並沒有所謂的按建立時間尋找

-atime +-N   同上,尋找的基準是訪問的時間.

-maxdepth   最大目錄深度.指定了這個選項,可以避免find無止境的去遍曆子目錄.

-depth   這個選項的意思是處理完一個目錄,再去遍曆子目錄.

-and   用於條件,可以指定多個條件,返回的結果是滿足所有條件的檔案

-or   同上,不過返回的是滿足條件之一的即可.

!   放在選項前面,後面可以看到他的用法.用來指定不滿足條件的檔案.

-exec command [option]  {} \;   非互動式執行命令,即將find找到的所有檔案執行command.注意{}和\之間的空格.

-ok command [option] {] \;   互動式執行命令,將find找出來的檔案執行command,但是會提示是否確認.

-delete   將尋找出來的檔案都刪除.

以上應該就可以應付大多數的情境了.之所以用find其實還有另外一個原因.是我不經意間發現的.當一個目錄下檔案較多的時候.可能你想這樣執行命令:ls "*.txt" | xargs cat

看似沒有問題的一條命令,卻會發生錯誤.原因是檔案太多了.無法用這個命令,這個時候find也會派上用場.想必find肯定有不一樣的地方吧.

來看看find在實際中的應用吧.

1. 找出目前的目錄的普通非sh尾碼的檔案並執行cat

2. 列出非sh和txt尾碼的檔案

上面列舉了兩種可能的寫法.注意!和選項之間一定要有空格,否則會報錯.注意前後小括弧與選項之間也要有空格,否則也會報錯.

小括弧的作用可能現在體現的不是很明顯.我一時也想不到具體的例子了.總之就是如果沒有小括弧,有一種情境,多個條件做過濾並且使用-exec選項的時候,-exec選項後面的command僅僅執行最後一個指定選項過濾出來的檔案.額,我遇到過這個問題.但是卻想不出來情境了.慚愧.

3. 列出當前檔案加下大於某個大小的檔案

需要注意的是,當沒有指定單位的時候,size後面的數位單位是512byte的一個塊.所以不要想當然的認為是位元組.


大致find的用法就總結這麼多.肯定有很多不全面的,好在find的選項理解起來並不難,所以對照這選項也可以寫出語句來.

8 shell命令之find

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.