Perl-19---文件属性操作函数
2010-11-03 11:23
225 查看
一、文件位置重定位函数:
1、rename()函数:文件重命名
$Ret = rename(OldName,NewName);
该函数用于把旧文件名OldName重命名为一个新的名字NewName,或者是把文件OldName转移到指定目录NewName下面;两个参数都可以为字符串或者表达式;如果OldName与NewName同为文件名或同为目录名,而且OldName与NewName的目录名完全相同,则该函数完成的式重命名工作;如果OldName与NewName的文件名相同,但是路径不同,则该函数完成的式文件转移工作;
调用成功,则返回非零值(真:1);调用失败,则返回零值(假:0);
也就是说,重命名或转移文件成功,则rename()函数返回非零值(真:1);重命名或转移文件失败,则rename()函数返回零值(假:0);
2、unlink()函数:删除文件
$UnLinkFileNumbers = unlink(FileList) ;
该函数用于删除文件;参数是一个文件名列表或者存储一个文件名的简单变量,函数返回值为实际删除的文件数目;此函数之所以称为unlink而不是delete是因为unlink()函数实际上所做的是删除文件的链接,而不是真正地删除文件;因为Unix/Linux系统为每个文件都设置了一个链接计数,每次删除一个文件时,实际上是删除对该文件的一个链接,把链接计数减1,只有当链接计数变为0时,操作系统才会真正地去删除文件;
函数调用成功,则返回实际删除的文件数目(非零,真);调用失败,则返回零值(假:0);
也就是说,如果删除文件成功,则unlink()函数返回实际删除的文件数目(非零,真);删除文件失败,则unlink()函数返回零值(假:0);
二、文件的硬连接和符号连接
1、link()函数:
$Ret = link(File,HardLinkName);
该函数用于为文件File创建一个硬链接HardLinkName;File是链接的源(被链接的文件),HardLinkName则是新创建的链接名;当删除File和HardLinkName这两个名称中的一个的时候,仍然有通过另外一个名称来访问到这个文件的内容;
函数调用成功,则返回非零值(真:1) ;调用失败,则返回零值(假:0);也就是说,如果创建到文件File的硬链接HardLinkName成功,则link()函数返回非零值(真:1);如果创建到文件File的硬链接HardLinkName失败,则link()函数返回零值(假:0);
2、symlink()函数:
$Ret = symlink(File,SymLinkName);
该函数对现有的文件File创建一个符号链接SymLinkName,即:这个符号链接仅仅指向文件名File,而并不是指向文件File本身;参数何返回值与link()函数相同;当源文件被删除的时候,则所创建的符号链接不再可用,除非再创建一个与文件File同名的文件;
调用成功,则函数返回非零值(真:1);调用失败,则返回零值(假:0);也就是说,创建到文件File的符号链接SymLinkName成功的时候,symlink()函数返回非零值(真:1);创建到文件File的符号链接SymLinkName失败时,则symlink()函数返回零值(假:0);
3、readlink()函数:
$FileName = readlink(SymLinkName);
如果参数SymLinkName是一个符号链接文件,则函数返回该符号链接所指向的实际文件的文件名,否则返回空串;
三、文件权限许可函数
1、chmod()函数:
$Ret = chmod(Permissions,FileList);
该函数用于吧文件列表FileList中的文件的访问权限更改为参数Permissions所指定的权限;
chmod()函数返回文件列表FileList中已经被成功更改了访问权限的文件的数量,没有区分调用成功与否;
2、chown()函数:
$Ret = chown(NewUserID,NewGroupID,FileList);
用于更改文件列表FileList中所有文件的所有者;
NewUserID:新用户ID(数字);
NewGroupID:新组ID(数字);-1表示保留原组;
FileList:将要被改变所有者的文件的列表;
chown()函数返回文件列表FileList中已经被成功更改了所有者的文件的数量,没有调用成功与否;
3、umask()函数:
OldMask = umask(NewMask);
该函数用于设置文件的访问权限掩码;这个函数接收一个新的参数掩码NewMask,并返回当前正在使用的旧掩码值OldMask;
四、其它属性函数:
1、truncate()函数:
$Ret = truncate(File,Length);
该函数把参数File指定的文件的长度减少到Length字节。如果文件File的长度本来就小于Length字节,那么该函数什么都不做;其中参数File即可以是文件名,也可以是文件句柄;
函数调用成功,则truncate()函数返回非零值(真:1);调用失败,则返回空值(假);
2、stat()函数:
@FileStates = stat(File);
该函数用于获取文件File的状态;参数File既可以是文件名,也可以是文件句柄;
调用成功,则返回文件的属性列表;调用失败则返回空值;
stat()函数返回一个用于存放文件属性的列表,列表中元素的顺序为:
FileStates[0]:文件所在的设备;
FileStates[1]:文件的内部参考号(inode);
FileStates[2]:访问权限;
FileStates[3]:硬连接数;
FileStates[4]:拥有者的ID(数字);
FileStates[5]:所属组的ID(数字);
FileStates[6]:设备类型(如果File是设备的话);
FileStates[7]:文件大小(字节数);
FileStates[8]:创建时间;
FileStates[9]:最后修改时间或最后状态修改时间HH:MM:SS(00:00:00 ~ 23:59:59);
FileStates[10]:最后访问时间;
FileStates[11]:IO操作最佳块大小;
FileStates[12]:分配给该文件的块数;
3、lstat()函数:
@FileStates = lstat(File);
该函数与stat()函数类似,但是区别是:该函数把参数File看作是符号链接;
调用成功,则返回文件的属性列表;调用失败,则返回空值;
返回的属性列表的结构与stat()返回的属性列表的结构相同;
4、time()函数:
返回从1970年1月1日0时0分0秒开始到当前时间之间累计的秒数;
$CurrentTime = time();
5、gmtime()函数:
@TimeElemList = gmtime(TimeValue);
该函数把time()、stat()、以及文件测试操作符-A和-M返回的时间转换为格林威治时间,并返回一个含有时间元素的列表:@TimeElemList ;
返回的时间元素的列表@TimeElemList 中的元素顺序为:
TimeElemList[0]:秒 (0 ~ 59);
TimeElemList[1]:分(0 ~ 59);
TimeElemList[2]:时(0 ~ 23) ;
TimeElemList[3]:日(1 ~ 31);
TimeElemList[4]:月(0 ~ 11:一月 ~ 十二月);
TimeElemList[5]:年;
TimeElemList[6]:星期;
TimeElemList[7]:
TimeElemList[8]:
1、rename()函数:文件重命名
$Ret = rename(OldName,NewName);
该函数用于把旧文件名OldName重命名为一个新的名字NewName,或者是把文件OldName转移到指定目录NewName下面;两个参数都可以为字符串或者表达式;如果OldName与NewName同为文件名或同为目录名,而且OldName与NewName的目录名完全相同,则该函数完成的式重命名工作;如果OldName与NewName的文件名相同,但是路径不同,则该函数完成的式文件转移工作;
调用成功,则返回非零值(真:1);调用失败,则返回零值(假:0);
也就是说,重命名或转移文件成功,则rename()函数返回非零值(真:1);重命名或转移文件失败,则rename()函数返回零值(假:0);
2、unlink()函数:删除文件
$UnLinkFileNumbers = unlink(FileList) ;
该函数用于删除文件;参数是一个文件名列表或者存储一个文件名的简单变量,函数返回值为实际删除的文件数目;此函数之所以称为unlink而不是delete是因为unlink()函数实际上所做的是删除文件的链接,而不是真正地删除文件;因为Unix/Linux系统为每个文件都设置了一个链接计数,每次删除一个文件时,实际上是删除对该文件的一个链接,把链接计数减1,只有当链接计数变为0时,操作系统才会真正地去删除文件;
函数调用成功,则返回实际删除的文件数目(非零,真);调用失败,则返回零值(假:0);
也就是说,如果删除文件成功,则unlink()函数返回实际删除的文件数目(非零,真);删除文件失败,则unlink()函数返回零值(假:0);
二、文件的硬连接和符号连接
1、link()函数:
$Ret = link(File,HardLinkName);
该函数用于为文件File创建一个硬链接HardLinkName;File是链接的源(被链接的文件),HardLinkName则是新创建的链接名;当删除File和HardLinkName这两个名称中的一个的时候,仍然有通过另外一个名称来访问到这个文件的内容;
函数调用成功,则返回非零值(真:1) ;调用失败,则返回零值(假:0);也就是说,如果创建到文件File的硬链接HardLinkName成功,则link()函数返回非零值(真:1);如果创建到文件File的硬链接HardLinkName失败,则link()函数返回零值(假:0);
2、symlink()函数:
$Ret = symlink(File,SymLinkName);
该函数对现有的文件File创建一个符号链接SymLinkName,即:这个符号链接仅仅指向文件名File,而并不是指向文件File本身;参数何返回值与link()函数相同;当源文件被删除的时候,则所创建的符号链接不再可用,除非再创建一个与文件File同名的文件;
调用成功,则函数返回非零值(真:1);调用失败,则返回零值(假:0);也就是说,创建到文件File的符号链接SymLinkName成功的时候,symlink()函数返回非零值(真:1);创建到文件File的符号链接SymLinkName失败时,则symlink()函数返回零值(假:0);
3、readlink()函数:
$FileName = readlink(SymLinkName);
如果参数SymLinkName是一个符号链接文件,则函数返回该符号链接所指向的实际文件的文件名,否则返回空串;
三、文件权限许可函数
1、chmod()函数:
$Ret = chmod(Permissions,FileList);
该函数用于吧文件列表FileList中的文件的访问权限更改为参数Permissions所指定的权限;
chmod()函数返回文件列表FileList中已经被成功更改了访问权限的文件的数量,没有区分调用成功与否;
2、chown()函数:
$Ret = chown(NewUserID,NewGroupID,FileList);
用于更改文件列表FileList中所有文件的所有者;
NewUserID:新用户ID(数字);
NewGroupID:新组ID(数字);-1表示保留原组;
FileList:将要被改变所有者的文件的列表;
chown()函数返回文件列表FileList中已经被成功更改了所有者的文件的数量,没有调用成功与否;
3、umask()函数:
OldMask = umask(NewMask);
该函数用于设置文件的访问权限掩码;这个函数接收一个新的参数掩码NewMask,并返回当前正在使用的旧掩码值OldMask;
四、其它属性函数:
1、truncate()函数:
$Ret = truncate(File,Length);
该函数把参数File指定的文件的长度减少到Length字节。如果文件File的长度本来就小于Length字节,那么该函数什么都不做;其中参数File即可以是文件名,也可以是文件句柄;
函数调用成功,则truncate()函数返回非零值(真:1);调用失败,则返回空值(假);
2、stat()函数:
@FileStates = stat(File);
该函数用于获取文件File的状态;参数File既可以是文件名,也可以是文件句柄;
调用成功,则返回文件的属性列表;调用失败则返回空值;
stat()函数返回一个用于存放文件属性的列表,列表中元素的顺序为:
FileStates[0]:文件所在的设备;
FileStates[1]:文件的内部参考号(inode);
FileStates[2]:访问权限;
FileStates[3]:硬连接数;
FileStates[4]:拥有者的ID(数字);
FileStates[5]:所属组的ID(数字);
FileStates[6]:设备类型(如果File是设备的话);
FileStates[7]:文件大小(字节数);
FileStates[8]:创建时间;
FileStates[9]:最后修改时间或最后状态修改时间HH:MM:SS(00:00:00 ~ 23:59:59);
FileStates[10]:最后访问时间;
FileStates[11]:IO操作最佳块大小;
FileStates[12]:分配给该文件的块数;
3、lstat()函数:
@FileStates = lstat(File);
该函数与stat()函数类似,但是区别是:该函数把参数File看作是符号链接;
调用成功,则返回文件的属性列表;调用失败,则返回空值;
返回的属性列表的结构与stat()返回的属性列表的结构相同;
4、time()函数:
返回从1970年1月1日0时0分0秒开始到当前时间之间累计的秒数;
$CurrentTime = time();
5、gmtime()函数:
@TimeElemList = gmtime(TimeValue);
该函数把time()、stat()、以及文件测试操作符-A和-M返回的时间转换为格林威治时间,并返回一个含有时间元素的列表:@TimeElemList ;
返回的时间元素的列表@TimeElemList 中的元素顺序为:
TimeElemList[0]:秒 (0 ~ 59);
TimeElemList[1]:分(0 ~ 59);
TimeElemList[2]:时(0 ~ 23) ;
TimeElemList[3]:日(1 ~ 31);
TimeElemList[4]:月(0 ~ 11:一月 ~ 十二月);
TimeElemList[5]:年;
TimeElemList[6]:星期;
TimeElemList[7]:
TimeElemList[8]:
相关文章推荐
- Perl-17---文件操作函数
- Linux文件系统文件属性及目录操作函数
- 获取文件的属性信息及其操作函数
- 文件操作函数:文件的属性
- Perl基本技三:斯德艾特——File::stat->stat()函数获取文件属性信息
- [Linux文件属性]使用utime函数操作文件的时间参数
- java中对于文件属性的一些操作
- C++笔记 | C fopen函数 fwrite函数 rewind fseek fscanf fprintf等文件操作函数
- windows文件操作函数
- java 操作属性文件
- MOSS User Profile(五):操作用户配置文件属性
- C语言中操作utmp文件的相关函数用法
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)(一)
- asp下利用fso实现文件夹或文件移动改名等操作函数
- 个人学习代码保存:例10.通过模板创建静态页面的操作文件的一个自定函数
- 文件操作体会及文件操作函数大全集合
- c语言写的*.dbf文件的操作函数库
- 用 JavaScript 写 ASP,似乎很爽啊,自己封装了一个 操作数据库 分页 以及 文件操作的函数
- python 文件和路径操作函数小结
- nodejs File System 文件系统操作函数分类