天天看點

檔案查找工具find

在vim編輯器内,可以使用^或$跳至某一行的行首或行尾,其實在指令行下也具有相同作用的組合鍵:ctrl+a:跳至指令行的行首 ctrl+e:跳至指令行的行尾 ctrl+u:删除光标所在位置到行首的内容 ctrl+k:删除光标所在位置到行尾的内容 而ctrl+l:清屏,和鍵入clear的作用相同

1、文本查找有兩個指令:locate、find

locate:不是實時查找,并非是精确的根據資料庫查找,但是查找的速度比較快

格式:#locate keyword

參數:-n NUMBER:隻顯示查找到的前NUMBER行

-c:統計字元數 例如:#locate -c passwd

find:實時的進行查找,超找精确,但是是速度相對于locate慢,其查找可以指定查找範圍、類型、甚至精确的比對檔案名

格式:find [path..] [查找标準] [查找後的行為] 如果不指定查找後的行為時,則預設的是将其列印顯示出來

查找标準:

-name:嚴格區分大小寫,按照名字進行查找,在此處也可以使用globbing方式的檔案名比對,如"passwd*"、"passwd?"

例如:#find /etc -name "passwd"

-iname:不區分檔案名的大小寫,進行查找比對

-regex PATTERN:檔案名比對模式的檔案,支援一般正規表達式

-user:基于屬主的查找

-uid:基于uid的查找

-group:基于屬組的查找

-gid:基于gid的查找

-nouser:沒有屬主的檔案

-nogroup:沒有屬組的檔案

-type:依靠檔案類型進行篩選查找

   f:普通檔案 d:目錄 l:軟連接配接 b:塊裝置 s:套接字檔案 p:管道裝置 c:字元裝置 

例如:#find /tmp -type s

-size:指定具體的大小或控制在某個界限内的所要查找的内容進行過濾,其支援的機關有:k.M.G 

例如:#find /etc -size 2M 在/etc查找大小為2M的檔案,在此隻要檔案的大小預設不足一位的則進一位,既是這裡指定查找2M的檔案,其實大于1M小玉2M的檔案全都符合

例如:#find /etc -size -2M 查找大小小于2M的檔案

例如:#find /etc -size +2M 查找大小大于2M的檔案

-atime:指定通路時間,這裡所指定的時間也可用7 +7 -7的格式,機關為天

-mtime:指定修改時間

-ctime:指定改變時間

-amin:   -mmin:   -cmin   機關為分鐘

-perm:對權限進行的過濾,格式有:755 權限為755 /755(等同于+755)其中任何一類使用者滿足就滿足 -755每一類使用者任意一位隻要被755涵蓋就符合。

例如:find -perm 644 /tmp/test 在/tmp/test下查找權限為644的檔案

find -perm /644 /tmp/test   假如有個權限是600那麼就符合這個查找

find -perm -644 /tmp/test   假如有個權限是422那麼就符合這個查找

查找後的動作(Action)

-print:列印,顯示到螢幕上

-ls:以長格式顯示檔案屬性資訊

-ok:查找後執行指令,有需要進一步确認的操作将提示您确認

-exec:查找後執行指令,有需要進一步确認的操作将不在提示确認,而是采取全部确認

-ok和-exec在操作時對之前所查到的檔案用{}進行引用,而不能使用管道進行傳遞,語句結束後要用 \;進行結尾

例如:#find ./ -perm +400 -type f -exec mv {} {}.txt \;将根目錄下權限為400的普通檔案後面加上.txt

xargs:從标準輸入建立并執行

例如:#find ./ -perm +400 | xargs chmod 644

本文轉自 向陽草米奇 51CTO部落格,原文連結:http://blog.51cto.com/grass51/780781,如需轉載請自行聯系原作者