perl学习(7)文件和目录操作操作

一:文件测试操作符

1:  -r,文件or目录可读

  -w,文件or目录可写

  -x,文件or目录可执行

  -o,文件or目录是否属于当前目录

2:-e:文件或者目录是否存在

     -z:文件是否存在且size为0

  -s:文件或目录是否存在,size不为空,且返回容量值

     -f:是否为普通文件

     -d:是否为一个目录

 

3:-M,-A,-C;都是返回天数

 

4:例子

输出:

二: stat and lstat

  返回和同名linux系统类似的文件信息(访问属性,用户编号及组ID,文件或目录的链接数,时间戳)

  lstat:同上,但参数必须是符号链接

三:时间戳信息

1:localtime 

  获得当前时间,与date效果一致

2:gtime

  获得准格林威治时间

3:Time

  返回一个整数,表示从1970年到现在的总秒数

4:例子

输出:

 四:其他

1:chdir

  改变当前工作目录;shell命令行中使用chdir,不会改变shell命令行主目录;

  chdir省略参数时,会回到主目录,相当于shell里面的cd;

2: 文件名通配(过滤)

  glob: 如果需要一次匹配多种模式,可以再参数中用空格隔开

  <>: 同glob

3: 目录句柄

  opendir:打开文件句柄

  readdir:读取目录句柄的内容(读到的是目录里的文件名)

  closedir:关闭目录句柄

  eg:

  

输出:

  

4:删除文件unlink

  用于删除文件,不能用于删除目录;返回值代表成功删除了多少文件 

5:重命名文件rename

  rename $file,$newfile

6: 建立与删除目录

  新建目录 mkdir dir_name permission   eg:mkdir sims,0755;

       删除目录 rmdir dir_name 

  每次只能删除一个目录,对非空目录调用rmdir操作符会执行失败,如何删除非空目录呢?可以先使用unlink删除文件,再用rmdir删除该目录。eg: unlink glob "$tmp_dir/*$tmp_dir/.*"; rmdir $tmp_dir;

7:  chmod修改文件权限

8:chown

  同时更改拥有者与所属组,必须以数字形式的用户标识符和组标识符来指定;getpwnam和getgrnam函数可以分别将用户名和组名翻译成数字。

9:修改时间戳utime

原文地址:https://www.cnblogs.com/xh13dream/p/8644709.html