您的位置:首页 > 其它

Perl语言入门(第五版) 读书笔记(七)---目录操作

2013-12-19 11:04 232 查看
第十三章 目录操作

1. chdir 函数用来改变工作目录;每次目录更改后都应检查错误标量$!;

chdir "/etc" or die " Can not chdir /etc:$!\n";

2. glob文件名模式匹配 my @files = glob "/etc/*.pm /etc/*.pl"; #匹配多种模式用空格隔开

<>文件名模式匹配 my @files = <$dir/* $dir/.pm> #匹配多种模式用空格隔开

3. 目录句柄

opendir DIR, "/etc" or die "opendir /etc failed:$!\n"; #打开目录句柄

readdir DIR; #从目录中读取文件名列表,包含所有文件(包括点号开头的),不包含路径名称

while ($name = readdir DIR) {

next unless $name =~ /\.pm$/;

}

closedir DIR;

递归目录列表用File::Find模块

4. 删除文件

unlink "/etc/aaa","/etc/bbb","/etc/ccc";

unlink glob "/etc/*.pm"

5. 文件重命名

rename "old", "new";

6. 链接文件

link创建一个硬链接: link "old","new";

symlink 创建一个符号链接:sysmlink "old","new";

readlink "new"; 获取链接文件的实际位置

7. 目录操作

mkdir "$filedir"; #权限则默认设为0777;

mkdir "$filedir", 0755; #或者oct($mask), 权限必须为8进制数,字符串也不行

rmdir $filedir; #删除空目录

/tmp/file_$$ # $$代表当前进程号

File::Path模块提供了更高级的目录操作

8. 修改文件权限与隶属关系

chmod 0755, "fred", "barney"; #返回值为修改文件的数量

$uid = getpwnam("user"); #将用户名翻译为数字

$gid = getgrname("group"); #将组名翻译为数字

chown $uid, $gid, @filenames;更改文件的拥有者及其所属的组,文件可以是列表

9. 修改时间戳

utime前两个参数是新的访问时间和新的修改时间,后面的参数是文件名列表;

utime $now, $ago, glob "*.pm" ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: