Perl學習筆記(九)--檔案(四)

來源:互聯網
上載者:User

標籤:

十一、檔案測試

  -op expr if(-e “filea”){print STDERR(“file1/n”):} 檔案是否存在.

  -b是否為塊裝置  -c是否為字元裝置
  -d是否為目錄    -e檔案是否存在
  -f是否為普通檔案 -g是否設定了setgid位
  -k是否設定了sticky位 -l是否為符號串連
  -o是否擁有該檔案  -p是否為管道
  -r是否可讀     -s是否非空
  -t是否表示終端  -u是否設定setuid位
  -w是否可寫  -x是否可執行  -z是否為空白檔案
  -A距上次訪問多長時間
  -B是否為二進位檔案
  -C距上次訪問檔案的inode多長時間
  -M距上次修改多長的時間
  -O是否只為”真正的使用者”所擁有
  -R是否只有”真正的使用者”可讀
  -S是否為socket  -T是否為文字檔
  -W是否只有”真正的使用者”可寫
  -X是否只有”真正的使用者”可執行
  -s返迴文件長度,-A-C-M返回的天數.

十二、檔案狀態

  stat(file):參數可為檔案名稱,也可為檔案控制代碼,返迴文件狀態的列表。

  編號  名字   unix                    windows
  0     dev     裝置號                  c:=2,d:=3
  1     ino     索引節點                總是0
  2     mode    模式                    無
  3     nlink   連結號                  0
  4     uid     檔案所有者              0
  5     gid     檔案組                  0
  6     rdev    特殊檔案資訊,裝置類型    磁碟機代號
  7     size    檔案大小                檔案大小
  8     atime   上次訪問時間            上次訪問時間
  9     mtime   上次修改時間            上次修改時間
  10    ctime   inode修改時間           檔案建立時間
  11    blksz   磁碟塊大小              0
  12    Blocks  檔案的塊數              0

  utime(acctime,modtime,filelist):修改時間戳記,修改訪問時間,返回成功修改的檔案數.

十三、檔案操作

  Glob:
  @a=glob(“*.txt”)返回與模式比對的所有檔案目錄,如果賦值給簡單變數則一次返回一個檔案。
  參數可以是檔案名稱或目錄.
  只能接受有限的檔案數,報檔案太多錯誤,用shell來執行。
  因為用shell來解釋執行,故運行速度慢。
  另一種形式是@a=<*.txt>是古老的用法,推薦用glob.

  truncate(file,lenght):將檔案的長度減少到length位元組,如果檔案長度已經小於length,
  則不做任何事.其中filename可以為檔案名稱,也可以為檔案變數.

  rename(old,new)成功=1 可以從一個目錄移動到另一個目錄,不檢查new是否存在,可能破壞檔案.
  -e “file2″||rename(file1,file2)  先檢查再移動

十四、檔案連結

  link(檔案名稱,連結名)
  建立現有檔案的連結-永久連結,file是被連結的檔案,newlink是被建立的連結。
  成功返回真,失敗返回假.
  當刪除這兩個連結中的一個時,還可以用另一個來訪問該檔案。

  synlink符號連結(檔案名稱,連結名)建立現有檔案的符號連結,即指向檔案名稱,而不是指向
  檔案本身,當原檔案被刪除(如:被unlinke函數刪除),則被建立連結不可用,除非再建立
  一個與原被連結的檔案同名的檔案.
  Readlink(linkname)跟蹤符號連結,如果linkname為符號連結檔案,返回其實際指向的檔案。
  否則返回空串。

  unlink(filelist)=成功刪除的檔案數,刪除檔案或$_中的檔案,參數為檔案名稱列表,傳回值為
  實際刪除的檔案數目.
  此函數之所以叫unlink而不叫delete是因為它實際所做的是刪除檔案的連結。

十五、目錄操作

  opendir(dirvar,dirname) 開啟目錄,查看某目錄中檔案清單時也要先開啟,再操作,再關閉,
  參數為:
  dirvar:目錄變數,dirname:目錄名,成功返回真值,失敗返回假。
  closedir(dir):關閉目錄
  readdir(dir):對數組返回所有檔案和目錄,對簡單變數每次返回一個檔案或目錄,不含當前路徑。
  chdir(dir):改變目錄,運行完返回原目錄,成功為真,失敗為假.
  telldir(dir):目前的目錄位置
  seekdir(dir,loc):到指定位置
  rewinddir(dir):目錄位置指向目錄第一項.
  mkdir(dirname,permission):建立目錄(目前的目錄,存取權限)
  rmdir(dirname):只能刪除空目錄,成功則返回真,失敗返回假.

十六、小結

  1.概念:描述符,控制代碼,緩衝,訪問模式,許可權,檔案狀態.
  2.檔案訪問:開啟,關閉,讀,寫,隨機訪問
  3.檔案操作:測試,改名,截取,連結.
  4.目錄操作:同檔案.
  5.相關技術:錯誤函數及變數,檔案開啟函數,命令列參數,glob的擴充.

Perl學習筆記(九)--檔案(四)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.