shell編程四劍客之find

(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  \;

相關文章
相關標籤/搜索