Find 命令
文件查找命令
Localate : 非實時, 模糊查找, 查找是根據全系統文件數據庫進行的。
手動生成文件數據庫 updatebd 特點快。
find:
實時查找,精確查找,支持衆多查找標準, 速度慢。
1.用法:
find 查找路徑 查找標準 查找到以後的處理運作
查找路徑: (可以省略)默認爲當前目錄
查找標準: 默認爲指定路徑下的所有文件
處理運作: 默認爲顯示
2. 匹配(查找)標準:
-name ‘filename’ 對文件名做精確匹配,(根據文件名查找)
例子:find /etc/ -name ‘passwd’
文件名通配:
*:匹配任意長度的任意字符
例子:find /etc/ -name ‘passwd*’
?: [ ]
-iname ‘filename’ :文件名匹配不區分大小寫
-regex pattern :基於正則表達式進行文件名匹配
-user username :根據文件的屬主查找
例子; find /tmp –user root
-group groupname 根據數組查找
-uid 根據uid查找
-gid 根據gid查找
-nouser :查找沒有屬主的文件
例子; find /tmp -nouser
-nogroup :查找沒有屬組的文件
-typr文件類型匹配
f:普通文件
d:目錄
l:連接
s:套接字
c:字符
p:管道
b:塊設備
例子:find /tmp –type d
-size 文件大小匹配
- size [+ | -] +意思是大於 - 是小於 如果不加參數默認是字節
#K
#M
#G
例子:find /etc/ -size -1M 顯示etc下小於1M 的文件
組合條件
-a 與 -o 或 -not 非
與 的 優先級高於 或
例子:查找/tmp 下沒有屬主,並且類型是目錄的文件
find /tmp –nouser –type d
在/tmp/text 目錄下,屬主不是user1, 也不是user2的文件。
find /tmp/text –not user user1 –a –not user user1
根據時間戳匹配
-mtime -mmin
-ctime -cmin
-atime -amin (分鐘)
[+|-] + N天之前, - N天之內
例子:查看/tmp下7天之內沒有的訪問的文件
find /tmp –atime +7
-perm根據權限進行匹配 --- --- ---
mode 精確匹配到才符合條件
/mode 有一位匹配就可以查找到
-mode 每一位都必須匹配也可以權限超過他
例子:查找其他用戶用執行權限
find ./ -prem -001
運作:
-print:顯示
-ls 類似ls -l 的形式顯示每一個文件的詳細
-ok command {} \; 每一次的操作都需要用戶確認
-exec command {} \ ;不需要用戶一一確認
找到其他用戶能讀能寫的文件, 把它的其他用戶的權限去掉
find ./ -prem -001 –exec chmod o-w {} \;