Linux Shell編程四劍客-find

  1. find

四劍客之Find工具實戰,Find工具主要用於操作系統文件、目錄的查找,其語法參數格式爲:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   { }  \;

(1) Find工具-name參數案列:

find   /data/    -name   "*.txt"     #查找/data/目錄以.txt結尾的文件;

find   /data/    -name   "[A-Z]*"    #查找/data/目錄以大寫字母開頭的文件;

find   /data/    -name   "test*"     #查找/data/目錄以test開頭的文件;

(2) Find工具-type參數案列:

find   /data/    -type d   #查找/data/目錄下的文件夾;

find   /data/    !   -type   d    #查找/data/目錄下的非文件夾;

find   /data/    -type l   #查找/data/目錄下的鏈接文件。

find  /data/ -type d|xargs chmod 755 -R #查目錄類型並將權限設置爲755;

find  /data/ -type f|xargs chmod 644 -R #查文件類型並將權限設置爲644;

(3) Find工具-size參數案列:

find   /data/    -size   +1M              #查文件大小大於1Mb的文件;

find   /data/    -size   10M            #查文件大小爲10M的文件;

find   /data/    -size   -1M            #查文件大小小於1Mb的文件;

(4) Find工具-perm參數案列:

find   /data/    -perm   755   #查找/data/目錄權限爲755的文件或者目錄;

find   /data/    -perm   -007   #-perm 777相同,表示所有權限;

find   /data/    -perm   +644         #文件權限644以上;

(5) Find工具-mtime參數案列:

atime,access time  文件被讀取或者執行的時間;

ctime,change time  文件狀態改變時間;

mtime,modify time  文件內容被修改的時間;

find /data/ -mtime +30 -name "*.log"   #查找30天以前的log文件;

find /data/ -mtime -30 -name "*.txt"  #查找30天以內的log文件;

find /data/ -mtime 30 -name  "*.txt"#查找第30天的log文件;

find /data/ -mmin  +30-name  "*.log"   #查找30分鐘以前修改的log文件;

find /data/ -amin  -30 -name  "*.txt"  #查找30分鐘以內被訪問的log文件;

find /data/ -cmin  30 -name  "*.txt"#查找第30分鐘改變的log文件。

(6) Find工具參數綜合案列:

#查找/data目錄以.log結尾,文件大於10k的文件,同時cp/tmp目錄;

find /data/ -name "*.log"  –type f  -size +10k -exec cp {} /tmp/ \;

#查找/data目錄以.txt結尾,文件大於10k的文件,權限爲644並刪除該文件;

find /data/ -name "*.log"  –type f  -size +10k  -m perm 644 -exec rm –rf {} \;

#查找/data目錄以.log結尾,30天以前的文件,大小大於10M並移動到/tmp目錄;

find /data/ -name "*.log"  –type f  -mtime +30 –size +10M -exec mv {} /tmp/ \;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章