• Perl学习笔记(九)--文件(四)


    十一、文件测试

      -op expr if(-e “filea”){print STDERR(“file1/n”):} 文件是否存在.

      -b是否为块设备  -c是否为字符设备
      -d是否为目录    -e文件是否存在
      -f是否为普通文件 -g是否设置了setgid位
      -k是否设置了sticky位 -l是否为符号连接
      -o是否拥有该文件  -p是否为管道
      -r是否可读     -s是否非空
      -t是否表示终端  -u是否设置setuid位
      -w是否可写  -x是否可执行  -z是否为空文件
      -A距上次访问多长时间
      -B是否为二进制文件
      -C距上次访问文件的inode多长时间
      -M距上次修改多长的时间
      -O是否只为”真正的用户”所拥有
      -R是否只有”真正的用户”可读
      -S是否为socket  -T是否为文本文件
      -W是否只有”真正的用户”可写
      -X是否只有”真正的用户”可执行
      -s返回文件长度,-A-C-M返回的天数.

    十二、文件状态

      stat(file):参数可为文件名,也可为文件句柄,返回文件状态的列表。

      编号  名字    unix                     windows
      0     dev     设备号                   c:=2,d:=3
      1     ino     索引节点                 总是0
      2     mode    模式                     无
      3     nlink   链接号                   0
      4     uid     文件所有者               0
      5     gid     文件组                   0
      6     rdev    特殊文件信息,设备类型    驱动器号
      7     size    文件大小                 文件大小
      8     atime   上次访问时间             上次访问时间
      9     mtime   上次修改时间             上次修改时间
      10    ctime   inode修改时间            文件创建时间
      11    blksz   磁盘块大小               0
      12    Blocks  文件的块数               0

      utime(acctime,modtime,filelist):修改时间戳,修改访问时间,返回成功修改的文件数.

    十三、文件操作

      Glob:
      @a=glob(“*.txt”)返回与模式匹配的所有文件目录,如果赋值给简单变量则一次返回一个文件。
      参数可以是文件名或目录.
      只能接受有限的文件数,报文件太多错误,用shell来执行。
      因为用shell来解释执行,故运行速度慢。
      另一种形式是@a=<*.txt>是古老的用法,推荐用glob.

      truncate(file,lenght):将文件的长度减少到length字节,如果文件长度已经小于length,
      则不做任何事.其中filename可以为文件名,也可以为文件变量.

      rename(old,new)成功=1 可以从一个目录移动到另一个目录,不检查new是否存在,可能破坏文件.
      -e “file2″||rename(file1,file2)  先检查再移动

    十四、文件链接

      link(文件名,链接名)
      创建现有文件的链接-硬链接,file是被链接的文件,newlink是被创建的链接。
      成功返回真,失败返回假.
      当删除这两个链接中的一个时,还可以用另一个来访问该文件。

      synlink符号链接(文件名,链接名)创建现有文件的符号链接,即指向文件名,而不是指向
      文件本身,当原文件被删除(如:被unlinke函数删除),则被创建链接不可用,除非再创建
      一个与原被链接的文件同名的文件.
      Readlink(linkname)跟踪符号链接,如果linkname为符号链接文件,返回其实际指向的文件。
      否则返回空串。

      unlink(filelist)=成功删除的文件数,删除文件或$_中的文件,参数为文件名列表,返回值为
      实际删除的文件数目.
      此函数之所以叫unlink而不叫delete是因为它实际所做的是删除文件的链接。

    十五、目录操作

      opendir(dirvar,dirname) 打开目录,查看某目录中文件列表时也要先打开,再操作,再关闭,
      参数为:
      dirvar:目录变量,dirname:目录名,成功返回真值,失败返回假。
      closedir(dir):关闭目录
      readdir(dir):对数组返回所有文件和目录,对简单变量每次返回一个文件或目录,不含当前路径。
      chdir(dir):改变目录,运行完返回原目录,成功为真,失败为假.
      telldir(dir):当前目录位置
      seekdir(dir,loc):到指定位置
      rewinddir(dir):目录位置指向目录第一项.
      mkdir(dirname,permission):创建目录(当前目录,访问权限)
      rmdir(dirname):只能删除空目录,成功则返回真,失败返回假.

    十六、小结

      1.概念:描述符,句柄,缓冲,访问模式,权限,文件状态.
      2.文件访问:打开,关闭,读,写,随机访问
      3.文件操作:测试,改名,截取,链接.
      4.目录操作:同文件.
      5.相关技术:错误函数及变量,文件打开函数,命令行参数,glob的扩展.

  • 相关阅读:
    章节十六、3-TestNG方法和类注解
    章节十六、2-TestNG注解和断言
    章节十六、1-TestNG简介
    章节十五、9-自定义Loggers
    章节十五、8-配置文件File Logging
    章节十五、7- 配置文件-Console Logging
    章节十五、6-log4 2-用默认的配置
    章节十五、5-记录日志---Log4j
    章节十五、4-找到当前页所有连接
    030.[转] sql事务特性
  • 原文地址:https://www.cnblogs.com/Hebe/p/4446952.html
Copyright © 2020-2023  润新知