find 命令

經常使用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

相關文章
相關標籤/搜索