目錄
3.1. -mtime -n +n 按照文件的更改時間來查找文件
3.2. -atime -n +n 按照文件的訪問時間來查找文件
3.3. -ctime -n +n 按照文件的狀態改變時間來查找文件
3.7. -size n -n +n[cwbkMG] 根據文件大小查找
4.2. -nouser 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在
4.3. -nogroup 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在
1. 小聲嗶嗶
執行find -help我們可以看到find命令的參數如下:
提示中給出的參數格式是:find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
但是在日常運維過程中我們使用的參數格式往往是find [path...] [expression]
path就是查詢的文件路徑(find -help中的提示是默認使用當前路徑)
expression包含的參數就很多了,我這邊只講我自己常用的和個人覺得有用的參數,純屬個人向,歡迎拍磚
2. 超級常用命令
2.1 -name
根據文件名查找文件,
示例:查找/bin目錄下文件名以su開始的文件
find /bin/ -name "su*"
截圖:
-name的參數是支持正則表達式的
示例:例如查找/bin/目錄下以英文x到z開頭的文件
find /bin/ -name "[x-z]*"
截圖:
2.2. -type 查找某一類型的文件
b:塊設備文件
d:文件目錄
c:字符設備文件
p:管道文件
l:軟鏈接文件
f:普通文件
s:socket文件
示例:查找/bin目錄下的軟連接文件
find /bin/ -type l
截圖:
2.3. -exec
對find出的結果執行命令,如修改權限,文件刪除,文件夾下的內容查看等
示例:修改當前類別爲普通文件的權限爲550
find ./ -type f -exec chmod 550 {} \;
截圖:
3. 常用的命令
3.1. -mtime -n +n 按照文件的更改時間來查找文件
3.2. -atime -n +n 按照文件的訪問時間來查找文件
3.3. -ctime -n +n 按照文件的狀態改變時間來查找文件
-n表示時間距現在n天以內,+n表示時間距現在n天以前
示例:查詢1天內修改的文件
find ./ -mtime -1
截圖:
3.4. -maxdepth 查找最大目錄層數
示例:查詢當前路徑下1層目錄文件
find ./ -maxdepth 1
截圖:
3.5. -usr 按照文件所屬的用戶來查找文件
示例:查詢用戶屬主爲admin的文件
find ./ -user admin
截圖:
3.6. -group 按照文件所屬的用戶組來查找文件
示例:查詢用戶屬主爲ops的文件
find ./ -group ops
截圖:
3.7. -size n -n +n[cwbkMG] 根據文件大小查找
n:文件大小等於n的數值
-n:文件大小小於n的數值
+n:文件大小大於n的數值
b: 代表 512 位元組的區塊(如果用戶沒有指定後綴,則默認爲 b)
c: 表示字節數
k: 表示 kilo bytes (1024字節)
w: 字 (2字節)
M:兆字節(1048576字節)
G: 千兆字節 (1073741824字節)
示例:查詢當前文件夾大小大於20k的文件
find ./ -size +20k
截圖:
3.8. -perm 根據權限查找文件
示例:查詢權限爲640的文件
find ./ -perm 640
截圖:
4. 不常用的命令
4.1. -newer
參數:
file1:查找比file1新的文件
! file1:查找比file1舊的文件
-newer file1 ! -newer file2:查找更改時間比文件file1新但比文件file2舊的文件
示例:查詢比test.sh新比newest舊的文件
find ./ -newer test.sh ! -newer newest
4.2. -nouser 查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在
find ./ -nouser
4.3. -nogroup 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在
find ./ -nogroup