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

第十三章 目录操作
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" ;

你可能感兴趣的:(Perl语言入门(第五版) 读书笔记(七)---目录操作)