find文件查找
1.文件查找
find:查找文件和目錄
語法:
find [路徑] [選項] [表達式] [動作]
2.find的選項
-type:按文件類型查找
文件類型的分類:
f:普通文件
d:目錄
l:軟鏈接文件
c:字符設備文件
b:塊設備文件
s:安全套接字文件
p:管道文件
語法:
find 路徑 -type 文件類型

-size:按文件內容的大小查找
數字:精准查找文件內容的大小
+ 數字:查找大於這個數字的文件內容的大小
- 數字:查找小於這個數字的文件內容的大小
語法:
find 路徑 -size [+(-)]數字

-name:按文件名查找
語法:
find 路徑 -name '文件名'

-iname:按文件名查找並且不區分大小寫
語法:
find 路徑 -iname '文件名'

按文件時間查找:
一個文件三種時間:
-atime:按文件訪問時間查找
-mtime:按文件內容創建,修改時間查找(一般使用這個查找)
-ctime:按文件屬性修改時間查找
數字:查找從當前時間算起減去這個數字的文件
+ 數字:查找從當前時間算起減去這個數字之前的所有文件
- 數字:查找從當前時間算起到這個數字之內的文件
語法:
find 路徑 -mtime [+(-)]數字

stat:查看文件的三種時間
語法:
stat 文件名

-user:按文件屬主查找
-nouser:查找沒有屬主的文件
語法:
find 路徑 -user 文件的屬主

-group:按文件屬組查找
-nogroup:查找沒有屬組的文件
語法:
find 路徑 -group 文件的屬組

-perm:按文件權限查找
參數:
/權限:三個權限位上,只要有一個權限位上的權限被包含,就可以被找到
-權限:每個權限位上必須該數字權限的所有權限
語法:
find 路徑 -prem [-(/)]權限數字

-maxdepth:按文件層級查找
語法:
find 路徑 -maxdepth 數字(會顯示數字到第一層層級)

3.find的動作
-print:打印查找到的內容到終端上(find命令默認自帶加了和沒加沒有區別)
-ls:查看文件的詳細信息
其他查看信息(效果一樣):
|xargs ls -l
ls -l $(find xxx)
ls -l `find xxx`

-delete:刪除查找到的文件,只能刪除空目錄
其他刪除命令:
|xargs rm -fr
rm -rf $(find xxx)
rm -rf `find xxx`

-ok:找到文件后執行后面的bash命令,並詢問是否要進行操作
語法:
find 路徑 選項 -ok bash命令 {查找出來的文件} \;(這個'\'轉義符,find命令不識別';',所以需要轉義符來處理)

-exec:和-ok動作一樣,但是它會直接執行不會詢問

4.find多條件查找
-a:和,並且(fin命令自帶,兩個選項之間可以不加-a)

-o:或者

!:取反

5.補充
xargs:管道命令,是個命令傳遞參數的一個過濾器,也是組合多個命令的一個工具,就是把其他命令給它的數據傳遞給它后面的命令作為參數
語法:
find xxx |xargs [選項] bash命令

選項:
-i:用{}放置傳遞的數據
