加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl语言学习笔记 13 目标操作

发布时间:2020-12-15 23:54:05 所属栏目:大数据 来源:网络整理
导读:1、改变目录 chdir "/etc" or die "can't chdir to '/etc'!n"; 省略参数会回到用户主目录,与cd效果一样; 2、文件名通配 my @all_files = glob "*"; #不包括以点号开头的文件 my @pm_files = glob "*.pm"; 一次匹配多种模式,用空格隔开:my @files = ".*

1、改变目录

chdir "/etc" or die "can't chdir to '/etc'!n";

省略参数会回到用户主目录,与cd效果一样;

2、文件名通配

my @all_files = glob "*"; #不包括以点号开头的文件

my @pm_files = glob "*.pm";

一次匹配多种模式,用空格隔开:my @files = ".* *"; #可以匹配所有的文件,包括以点号开头

3、文件名通配另一种语法

my @files = <*>; ##等效于:my @files = glob "*";

支持变量内插:my $dir="/etc"; my @dir_files=<$dir/* $dir/.*>;

尖括号支持文件句柄和文件名通配,Perl会自行判断选择哪一种操作,如果是标识符,就当作文件读取,否则按文件名通配处理:

4、目录句柄

目录句柄可以打开(opendir)、读取(readdir,读取的为文件名)、关闭(close);

目录句柄是低级操作符,只能返回基本的信息,需要进行额外处理。

5、删除文件

unlink "file1","file2","file3"; ##返回成功删除的文件数,无法知道哪个删除失败

不能用来删除目录;

一次删除多个文件:unlink glob "*.o";

删除文件的权限和文件本身的权限无关,取决于文件所在目录的权限,因此某个无法读取、写入、执行的文件也可能被删除;

6、重命名文件

rename "old","new";

实现类似mv的效果:rename "/home/place/file1" "file2"

7、链接与文件

硬链接:

会使文件的链接数增加,只要有一个链接存在,文件就存在。

不能增加目录的链接数,不能跨挂载卷链接。

软链接(符号链接):

不会增加文件的链接数,可以指向不存在的文件

取得符号链接指向的位置:

8、建立及移除目录

建立目录:

?

0755为权限,无法将字符串直接解释成八进制数字,需用otc函数:

移除目录:

每次只能删除一个目录,并且必须是空目录,如果不是空目录,可以用unlink删除:

$$:当前进程号。

如果目录中还有子目录,则unlink会失败,进而导致rmdir失败。File::Path模块中的 rmtree 提供了比较完整的解决方案。

9、修改权限

chmod 0755,"file1","file2";

10、更改隶属关系

必须以数字形式指定用户标识符和组标识符,如果不知道,可采用如下方式处理:

11、修改时间戳

第三个时间戳 ctime 一定会被设为now,没有函数可以修改它。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读