轉貼地址: 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檔案夾中