歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> find命令解析

find命令解析

日期:2017/2/28 15:45:17   编辑:Linux教程

一、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

!

Copyright © Linux教程網 All Rights Reserved