目錄
1.普通查詢
?2.按照文件大小查找
3.忽略文件字母大小寫查詢
?4.根據修改時間查找
?5. 取反 !
?6.根據用戶查詢
7.對查找出來的內容進行操作
1.普通查詢
find + 路徑 -name "文件名"
如查看 etc 目錄下的passwd 的文件
find /etc -name "passwd"
?
?可以對查找進行文件和深度進行限制
find /etc -maxdepth 1 -type f -name "pa*" 命令 目錄 查找深度 類型 文件名包含
#? -type 文件類型:f 表示文件,不指定時,文件和目錄都進行查找
# -maxdepth 查找深度:目錄層級的意思,不指定時,按最大深度進行查找
# “pa*”: * 表示匹配pa 開頭的內容,*號也可以寫在開頭
?
?
?2.按照文件大小查找
?單位kMG,k要小寫,MG要大寫,不帶單位就按B單位進行查詢
find 目錄 -type f -size 文件大小(使用+是大于,使用-是小于)
1)例:查找大于50M的文件
?從查詢結果中來看,出現一段
find: ‘/proc/1626/task/1626/fdinfo/6’: 沒有那個文件或目錄
find: ‘/proc/1626/fdinfo/5’: 沒有那個文件或目錄
因為 proc 是進程目錄,有些進程運行起來之后能看到文件的信息,程序運行結束之后,進程文件也隨之消失所以看到proc的報錯很正常,并且 proc的權限很高,不是一般人可以訪問的,所以也經常會報權限不夠等錯誤信息,所以以后看到proc的報錯直接忽略即可。
2)查找小于10k 的文件
find /root -type f -size -10k路徑 文件類型 小于10k
?3)查找大于50M同時小于100M的文件
find / -type f -size +50M -and -size +100M
3.忽略文件字母大小寫查詢
find /root -maxdepth 1 -iname "a*"路徑 i是ignore的簡寫,忽略的意思
?4.根據修改時間查找
可以使用stat 對文件屬性進行查看
stat 文件名
?時間參數
按天算? ? 按分鐘算
atime? ? ? ?amin? ?#最近訪問時間
mtime? ? ? mmin? #文件內容最后一次修改時間
ctime? ? ? ?cmin? ?#上次更改文件數據的時間,例如其所有權、位置、文件類型和權限設置
?1)時間單位為天?
find /root -type f -mtime -1路徑 天 “-1 為一天之內,+1為一天以前”
?2)時間單位為分鐘
find /root -type f -mmin -40"-是之內,+是之前”
3)查找1天之前,10天之內修改過的文件
find /root -type f -mtime +1 and -mtime -10
?5. 取反 !
1) 在文件名命令前加 !
例 :尋找以 .txt 結尾的文件
find /root -type f -name "*.txt"
尋找不是以.txt 結尾的文件
find /root -type f ! -name "*.txt"
?2)如果沒有指定文件,取反就成了找文件夾了
在-type 前加 !
find /root ! -type f
#找root目錄下的非文件,即文件夾
?6.根據用戶查詢
根據用戶來查找文件
find / -user 用戶名
?根據用戶組來查找
find / -group 用戶名
7.對查找出來的內容進行操作
find /root -type f -name "a.txt" -exec cat {} \;

?
對查找到的文件進行刪除
find /root -type f -name "A.txt" -exec rm -f {} \;
?其他操作也一樣