Perl文件屬性函數
本文和大家重點學習一下Perl文件屬性函數的概念,Perl文件重定位函數,鏈接和符號鏈接函數,Perl文件許可權函數和其他屬性函數等內容,希望通過本文的學習你對Perl文件屬性函數有明確的認識。
Perl文件屬性函數
1、Perl文件重定位函數
函數名rename
調用語法rename(oldname,newname);
解說改變Perl文件名或移動到另一個目錄中,參數可為字符串或表達式。
函數名unlink
調用語法num=unlink(filelist);
解說刪除Perl文件。參數為Perl文件名列表,返回值為實際刪除的Perl文件數目。
此函數之所以叫unlink而不叫delete是因為它實際所做的是刪除Perl文件的鏈接。
2、鏈接和符號鏈接函數
函數名link
調用語法link(newlink,file);
解說創建現有Perl文件的鏈接--硬鏈接,file是被鏈接的Perl文件,newlink是被創建的鏈接。
成功返回真,失敗返回假。
當刪除這兩個鏈接中的一個時,還可以用另一個來訪問該Perl文件。
函數名symlink
調用語法symlink(newlink,file);
解說創建現有Perl文件的符號鏈接,即指向Perl文件名,而不是指向Perl文件本身。參數和返回值同上。
當原Perl文件被刪除(如:被unlinke函數刪除),則被創建鏈接不可用,除非再創建一個與原被鏈接的Perl文件同名的Perl文件。
函數名readlink
調用語法filename=readlink(linkname);
解說如果linkname為符號鏈接Perl文件,返回其實際指向的Perl文件。否則返回空串。
3、Perl文件許可權函數
函數名chmod
調用語法chmod(permissions,filelist);
解說改變Perl文件的訪問權限。參數為:
1、permissions為將要設置的權限,其含義見上述mkdir中權限表
2、filelist為欲改變權限的Perl文件列表
函數名chown
調用語法chown(userid,groupid,filelist);
解說改變Perl文件的屬主,有三個參數:
1、userid:新屬主的(數字)ID號
2、groupid:新的組(數字)ID號,-1為保留原組
3、filelist:欲改變屬主的Perl文件列表
函數名umask
調用語法oldmaskval=umask(maskval);
解說設置Perl文件訪問權限掩碼,返回值為當前掩碼。
4、其它屬性函數
函數名truncate
調用語法truncate(filename,length);
解說將Perl文件的長度減少到length字節。如果Perl文件長度已經小于length,則不做任何事。其中filename可以為Perl文件名,也可以為Perl文件變量
函數名stat
調用語法stat(file);
解說獲取Perl文件狀態。參數file可為Perl文件名也可為Perl文件變量。返回列表元素依次為:
Perl文件所在設備
內部參考號(inode)
訪問權限
硬鏈接數
屬主的(數字)ID
所屬組的(數字)ID
設備類型(如果file是設備的話)
Perl文件大小(字節數)
最后訪問時間
最后修改時間最后改變狀態時間
I/O操作最佳塊大小
分配給該Perl文件的塊數
函數名lstat
調用語法lstat(file);
解說與stat類似,區別是將file看作是符號鏈接。
函數名time
調用語法currtime=time();
解說返回從1970年1月1日起累計秒數。
函數名gmtime
調用語法timelist=gmtime(timeval);
解說將由time,stat或-A和-MPerl文件測試操作符返回的時間轉換成格林威治時間。返回列表元素依次為:
秒
分鐘
小時,0~23
日期
月份,0~11(一月~十二月)
年份
星期,0~6(周日~周六)
一年中的日期,0~364
是否夏令時的標志
詳見UNIX的gmtime幫助。
函數名localtime
調用語法timelist=localtime(timeval);
解說與gmtime類似,區別為將時間值轉換為本地時間。
函數名utime
調用語法utime(acctime,modtime,filelist);
解說改變Perl文件的最后訪問時間和最后更改時間。例如:
$acctime=-A"file1";
$modtime=-M"file1";
@filelist=("file2","file3");
utime($acctime,$modtime,@filelist);
函數名fileno
調用語法filedesc=fileno(filevar);
解說返回Perl文件的內部UNIXPerl文件描述。參數filevar為Perl文件變量。
函數名fcntl,flock
調用語法fcntl(filevar,fcntlrtn,value);
flock(filevar,flockop);
解說詳見同名UNIX函數幫助。
【編輯推薦】