一.常用查找工具介紹
1clocate
基於數據庫的查找。基於效率而言locate要快,但不夠精確
2.find
基於文件目錄下的實時查找。基於基於精確度而言,find會跟好一點,但就是稍顯慢了。
二.find命令的使用
- -name 根據文件名(區分大小寫)
- -iname 忽略大小
- -lname 鏈接文件
注:根文件名是如果有空格或*要加“”
支持正則的全路徑查找
- -user 根據文件屬主查找
- -group 根據文件屬組查找
- -nouser -nogroup
查找沒有屬主或屬組的文件
- 多個命令時默認是相與的關係
find /etc -user root -name “*passwd”
=find /etc -user root -a -name “*passwd”
-o :表示“或”
-not:表示“非”
默認優先順序: not—>a--->o
- -perm
- -perm mode 精確匹配
- -perm /mode 只要有一位匹配即可
- perm -mode 三類權限中每類至少有一位匹配
- 位爲0表示忽略
- -uid 根據uid查找
- -gid 根據gid查找
- -type 根據文件類型
- f 文件
- d 目錄
- l 鏈接
- b 塊設備
- c 字符設備
- p 管道
- s socket 文件
- -size 根據文件大小
- b:512
- c:byte
- k:bb
- M:mb
- G:gb
- -:小於
- +:大於
- atime 根據時間天 訪問時間
- mtime 修改時間
- ctime 改動時間
- +n:表示n天以前的
- -n:表示n天以內的
- amin 根據時間分的
- mmin
- cmin
- +n:n分前的
- -n:n分內的
- -newer 更接近現在的
三.find查找於exec或ok的配合使用
- exec:接find的輸出結果分條輸出時不與用戶交互
- ok:接find的所有結果後分條在輸出,每輸出一條就會詢問用戶是否輸出。
例如:find –name “*.sh” -exec ls –l {} \;
注:{}:表示佔位符。
每條命令都要以\;結束。
3..爲防止find輸出地數據太多在傳向exec或ok時溢出,我們使用xargs
例如:find –name “*.sh” |xargs ls –l