linux shell 之 find

來源:互聯網
上載者:User

轉貼地址:  Cy158358.cublog.cn

 

 

#!/bin/shcheck_patch()
{
 test -d $1
 return
}#檢查路徑是否存在
check_patch $2
if [ $? -ne 0 ]
then
 echo "no such path $2"
 exit 1
fiif [ "$1" = "name" ]
then
 #尋找txt檔案
 echo "--------------------------*.txt"
 find $2 -name "*.txt"
 
 #尋找以大寫字母開頭的檔案
 echo "--------------------------[A-Z]*   [A-Z]*.*"
 find $2 -name "[A-Z]*" #尋找以兩個小寫字母開頭、後接1個數字再接一個大寫字母的檔案
 echo "--------------------------[a-z][a-z][0-9][A-Z]*"
 find $2 -name "[a-z][a-z][0-9][A-Z]*"elif [ "$1" = "perm" ]
then
 #尋找可讀、可寫、可執行檔txt檔案
 find $2 -name "*.txt" -perm 777elif [ "$1" = "type" ]
then
 #尋找所有目錄
 echo "-------------------all dir"
 find $2 -type d #尋找除目錄以外的所有檔案
 echo "-------------------all files"
 find $2 ! -type d #尋找所有符號連結檔案
 echo "-------------------all link"
 ln -s $2/b $2/ln-b
 find $2 -type lelif [ "$1" = "size" ]
then
 #尋找所有0位元組檔案
 echo "-------------------size = 0"
 find $2 -name "*.*" -size 0c #尋找所有小於1k位元組的檔案
 echo "-------------------size < 1k"
 find $2 -name "*.*" -size -1024c #尋找所有大於2k位元組的檔案
 echo "-------------------size > 2k"
 find $2 -name "*.*" -size +2048c #尋找所有大於2k位元組的檔案(包括目錄)
 echo "-------------------size > 2k"
 find $2 -size +2048celif [ "$1" = "depth" ]
then
 #先在根目錄中尋找test.c,然後才到子目錄中尋找
 echo "-------------------find test.c"
 find $2 -name "test.c" -depth #尋找test.c
 echo "-------------------find test.c"
 find $2 -name "test.c"elif [ "$1" = "exec" ]
then
 #在目錄中查檔案test.c,然後顯示其屬性
 echo "-------------------find test.c ls -l"
 find $2 -name "test.c" -exec ls -l {} /; #在目錄中查檔案ddd.c,然後刪除之
 echo "-------------------find ddd.c rm"
 touch $2/ddd.c
 find $2 -name "ddd.c" -exec rm {} /; #在目錄中查檔案ddd.c,然後刪除之(需要確認)
 echo "-------------------find ddd.c rm"
 touch $2/ddd.c
 find $2 -name "ddd.c" -ok rm {} /; #在目錄中查檔案aaa.c,然後拷貝到back目錄
 echo "-------------------find aaa.c copy"
 touch $2/aaa.c
 test -d $2/../back
 if [ $? -ne 0 ]
 then
  mkdir $2/../back
 fi
 find $2 -name "aaa.c" -exec cp {} $2/../back /;fi將上述內容儲存為指令檔find,後可以測試find命令的各種功能。./find name path顯示目錄path下所有的txt檔案顯示目錄path下所有以大寫字母開頭的檔案顯示目錄path下所有以兩個小寫字母+1個數字+1個大寫字母開頭的檔案 ./find perm path顯示目錄path下所有目前使用者可讀、可寫、可執行檔檔案 ./find type path顯示目錄path下所有檔案夾目錄名顯示目錄path下所有檔案名稱顯示目錄path下所有連結檔案名稱 ./find size path顯示目錄path下所有0位元組檔案顯示目錄path下所有<1k的檔案顯示目錄path下所有>2k的檔案顯示目錄path下所有>2k的檔案和目錄 ./find exec path尋找目錄path下的test.c檔案並顯示其詳細屬性尋找目錄path下的ddd.c檔案並刪除之尋找目錄path下的ddd.c檔案並刪除之(需要確認)尋找目錄path下的aaa.c檔案並拷貝到上層目錄的back檔案夾中

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.