經常使用find命令linux
一、命令格式:shell
find pathname -options [-print -exec -ok]安全
二、命令參數:spa
pathname:.表示當前目錄,/表示系統根目錄圖片
-exec:find命令將匹配的文件執行該參數給出的shell命令。如linux中查找文件名中帶abc的png圖片並刪除「find / -name '*abc*.png' -exec rm -rf {} \;」或者「find . -type f -name "*abc*.png" | xargs rm -rf
」或者「find . -type f -name "*abc.png" -delete」io
-ok:和-exec相似,只不過以一種更安全的模式來執行該參數所給出的shell命令。pdf
三、命令選項file
-name:按照文件名查找。搜索
-perm:按照文件權限查找。權限
-user:按照文件所屬主來查找。
-group:按照文件所屬組來查找。
-mtime -n +n 按照文件的更改日期查找,-n表示文件更改時間距如今n天之內,+n表示文件更改時間距如今n天之前。
-type:查找某一類型的文件,諸如:
b -塊設備文件
d -目錄
c -字符設備文件
p -管道文件
l -符號連接文件
f -普通文件
四、關於時間的參數
-amin n 查找系統中最後N分鐘訪問的文件
-atime n 查找系統中最後n*24小時訪問的文件
-cmin n 查找系統中最後N分鐘被改變文件狀態的文件
-ctime n 查找系統中最後n*24小時被改變文件狀態的文件
-mmin n 查找系統中最後N分鐘被改變文件數據的文件
-mtime n 查找系統中最後n*24小時被改變文件數據的文件
五、當前目錄及子目錄下查找全部以.txt和.pdf結尾的文件
find . -name "*.txt" -o -name "*.pdf"
六、匹配文件路徑或者文件
find /usr/ -path "*local*"
七、找出比file.log修改時間更長的全部文件
find . -type f -newer file.log
八、當前目錄下搜索出權限爲777的文件
find . -type f -perm 777
九、查找當前目錄下全部.txt文件並把他們拼接起來寫入到all.txt文件中
find . -type f -name "*.txt" -exec cat {} \;> all.txt
十、將30天前的.log文件移動到old目錄中
find . -type f -mtime +30 -name "*.log" -exec cp {} old \;
十一、找出本身家目錄下全部的.txt文件並刪除
find $HOME/. -name "*.txt" -ok rm {} \;
十二、找出當前目錄下全部.txt文件並以「File:文件名」的形式打印出來
find . -type f -name "*.txt" -exec printf "File: %s\n" {} \;
1三、要列出全部長度爲零的文件
find . -empty
1四、查找當前目錄或者子目錄下全部.txt文件,可是跳過子目錄sk
find . -path "./sk" -prune -o -name "*.txt" -print