perl对文件和目录进行操作
对文件和目录进行操作 opendir 目录句柄,“目录”;for $a(readdir 目录句柄){
printer $a
}
@a=readdir HOME;
打印目录,没有排序。
查找递归目录用File::Find
删除文件:(只是删掉连接,数据应该还没有删掉。我是这样理解)
unlink “文件”,“文件2”;
注:unlink返回的是成功删除文件的数量。
对应的,创建一个文件的硬链接:
link “文件”,“硬链接”;
有硬链接就有软连接:
symlink “文件”,“软连接名”;
unlink glob “*.tmp";
使用glob,这里不是正则。
重命名文件:
rename ”源”,“新名字”;
创建目录:
mkdir “目录名”,0755;
第二个参数是初始权限。这里的0是指八进制,不是那个特殊位。注意了,如果第二个参数是字符串,不
管前面是不是0,这个语句都是错误的。
oct函数:
强制一个以个字符串作为8进制的数字来解释。不关前面是不是0.
删除空目录:
rmdir “目录”;
rmdir是File::Path模块中的函数。
改变文件的权限:
chmod 0777,“文件1”,“文件2“;
安装File::chmod
改变所有者:
chown uid,gid,“文件”;
如果用用户名,就要用 getpwnam“用户名” 转换成uid使用。
chown返回改变文件个数。
改变文件的时间戳:
utime “atime”,“mtime”,“文件”;
还有一个ctime是不能修改的。所以,这里就不用这个参数了。
atime和mtime的格式,是time函数返回的格式就可以了。如:1247803647
$mtime=$atime-24*60*60,修改时间变成一天前修改的。
页:
[1]