一、find是什麼
find(精確查找)(實時查找)(而且可以指定查找路徑)速度慢(支持通配glob)
二、find的基本用法
find[查找路徑...可多個(省略時,默認為當前路徑)][查找條件][處理動作,省略時表示僅顯示出來]
三、下面介紹find的詳細選項用法
-name""指定文件名;例如find /tmp -name "qinqin"
-iname""表示在查找時不區分文件的大小寫
-user USERNAME根據用戶進行查找
-group GROUPNAME根據屬組進行查找
-uid UID根據UID進行查找
-gid GID根據GID進行查找
-nouser查找沒有屬主的文件
-nogroup查找沒有屬組的文件
-regex ""根據正則表達式查找
-oregex""不區分大小寫的根據正則表達式查找
--type 根據文件類型查找;
d目錄;例如find /var/log-type d
f普通文件
l符號鏈接
b block special
c character special
p named pipe
s socked
D door(Solaris)
-size 2
(K|M|G)例如:
-size +2M大於2M的文件
-size -1k小於1k的
-size 2M介於2M正負1M范圍內的文件
單位是天
-atime [+/-](訪問時間)
-mtime [+/-](修改時間)
-ctime [+/-](改變時間)
-atime 3到此刻剛好3天中被訪問的文件
-atime -3天內訪問的文件
-atime +3天前訪問的文件
單位是分
-amin [+/-]
-mmin [+/-]
-cmin [+/-]
-perm根據權限來查找
mode
/mode
-mode
例如:find /etc -perm 640 精確匹配,其權限必須是640
find /etc -perm /640三組權限中有任意一組匹配都行
find /etc -perm -640含有該權限的都得匹配
-perm 222查找出來的權限必須是222
-perm -222 可查找出666,只要含有222權限的都可以
-perm -400只要屬主有讀權限即可,其他任意權限
-perm /400屬主有讀權限,其他沒有任何權限;符合這三組都可
處理動作:
-print默認情況
-ls
find /etc -perm -640 -ls以詳細信息顯示所查找到文件
-ok後可跟其他shell命令,後面必須跟個{占位符}\;(執行後面命令時提示是否執行)
-exec 後可跟其他shell命令,後面必須跟個{命令選項等}\ (執行後面命令時不提示)
例如 find /etc -perm -640 -exec ls -lh {} \;
chown RedHat {} \;修改查找到的文件的屬主為redhat
例如find ./ -perm -002 -exec mv {} {}.old \;將查找到文件的名字加上.old
find | xargs COMMAND 不需要用占位符
多條件查找:條件間的邏輯關系
並關系:-a
或關系:-o
非關系:!或者-not
例如:find /tmp -name "passwd" -user root(默認並關系)
-a
-o
!