(1) Find做用ide
Find主要用來對系統文件,目錄的查找it
(2) Find語法io
find path -option [exec command ] {} \;class
註釋:test
<1> path 表示路徑 ,能夠從根查找(/) 能夠從當前目錄查找(.) 能夠從指定目錄查找(tmp/)權限
<2> option 表示選擇 -name表示查找文件名稱(*.txt) -type 經過文件類型進行查找 -size 表示經過文件大小查找 語法
-perm 經過文件權限查找 -mtime 表示經過時間類型查找command
<3> exec 接要執行的命令 例如 find . -name "*.txt" -exec rm-rf {} \; {}表示把前面查找的結果放到裏面im
(3) find -name 參數案例註釋
<1> find /data/ -name "*.txt" 查找/data/目錄以.txt結尾的文件
<2> find /data/ -name "[A-Z]" 查找/data/目錄下以大寫字母開頭的文件
<3> find /data/ -name "test" 查找/data/目錄下以test開頭的文件
<4> find /data/ -name "*.txt" -exec mv{} /tmp/ \; 查找/data/目錄下以.txt結尾的文件把它移動到tmp目錄下
<5> find /tmp/ -name "*.txt" -exec mv{} . \; 查看/tmp/目錄下以.txt結尾的文件移動到當前目錄下
<6> find . -name "jfedu.txt" -exec rm-rf {} \; 查找當前目錄下文件名稱爲jfedu.txt的文件,執行刪除操做
註釋:
不加-type f |d | l -name不指定查找的文件類型,默認查找全部
(4) find -type 參數案例
<1> find /data/ -type d 查找/data/目錄下,是目錄類型的文件
<2> find /data/ -type l 查找/data/目錄下的軟鏈接文件
<3> find /data/ -type f 查找/data/目錄下的文件類型文件
<4> find /data/ -type d -exec chmod 744 -R 查找/data/目錄下是目錄類型的文件.並將權限設置爲744
(5) find -size 參數案例
<1> find /data/ -size 10M 查找/data/目錄下是10M的文件
<2> find /data/ -size -10M 查找/data/目錄下小於10M 的文件
<3> find /data/ -size +10M 查找/data/目錄下大於10M的文件
(6) find -perm 參數案例
<1> find /data/ -perm 744 查找/data/目錄下文件或目錄權限是744的
<2> find /data/ -perm +644 查找/data/目錄下文件或目錄的權限是644以上的
<3> find /data/ -perm -644 查找/data/目錄下文件或目錄權限是644如下的
(7) find -mtime 參數案例
<1> find /data/ -mtime +30 -name "*.log" 查找/data/目錄下30天之前的log文件
<2> find /data/ -mtime -30 -name "*.txt" 查找/data/目錄下30天之內的txt文件
<3> find /data/ -mtime 30 -name "*.log" 查找/data/目錄下第30天的log文件
<4> find /data/ -mmin +30 -name "*.log" 查看/data/目錄下30分鐘之前的log文件
<5> find /data/ -amin -30 -name "*.txt" 查看/data/目錄下30分鐘之內txt文件
<6> find /data/ -cmin 30 -name "*.log" 查找/data/目錄下第30分鐘的log文件
(8) find 綜合案例
<1> 查找/data/目錄下以.log結尾的文件,文件大於10k,同時cp /tmp目錄下
find /data/ -name "*.log" -type f -size +10k -exec cp { } /tmp \;
<2> 查找/data/目錄下以.txt結尾的文件,大於10k的文件,權限爲644,並刪除文件
find /data/ -name "*.txt" -type f -size +10k -perm 644 -exec rm-rf{} \;
<3> 查找/data/目錄下以.log結尾的文件,30天之前的文件,文件大小是10M並移動到/tmp目錄
find /data/ -name "*.log" -type f -mtime +30 -size 10M -exec mv {} /tmp \;