设为首页 收藏本站
查看: 932|回复: 0

[经验分享] Perl 文件检测操作

[复制链接]
累计签到:10 天
连续签到:1 天
发表于 2015-12-28 02:06:17 | 显示全部楼层 |阅读模式



文件检测操作

如果程序会建立新的文件,在程序创建新文件之前,我们应先确定是否存在同名的文件,以免重要数据被覆盖掉。对于这种问题,我们可以使用– 选项,检测是否存在相同名字的文件:

die "Oops! A file called '$filename' already exists.\n"
if -e $filename;
  如果文件在过去28 天内都未被修改,输出警告:

warn "Config file is looking pretty old!\n"
if -M CONFIG > 28;
  下例首先检查文件列表,找到那些大于 100KB 的文件。如果一个文件仅是很大, 我们不一定会将其移到备份磁带上去,除非同时其在最近 90 天内都未被访问。

my @ariginal_files = qw/ fred barney betty Wilma pebbles dino bam-bamm /;
my @big_old_files; #要移到备份磁带上的文件
foreach my $filename (@original_files){
push @big_old_files, $filename
if -s $filename > 100_100 and -A $filename > 90;
}
-r文件或目录对此(有效的)用户(effective user)或组是可读的
-w文件或目录对此(有效的)用户或组是可写的
-x文件或目录对此(有效的)用户或组是可执行的
-o文件或目录由本(有效的)用户所有
-R文件或目录对此用户(real user)或组是可读的
-W文件或目录对此用户或组是可写的
-X文件或目录对此用户或组是可执行的
-O文件或目录由本用户所有
-e文件或目录名存在
-z文件存在,大小为 0(目录恒为 false)
-s文件或目录存在,大小大于 0(值为文件的大小,单位:字节)
-f为普通文本
-d为目录
-l为符号链接
-S为 socket
-p为管道(Entry is a named pipe(a "fifo"))
-b为 block-special 文件(如挂载磁盘)
-c为 character-special 文件(如 I/O 设备)
-usetuid 的文件或目录
-gsetgid 的文件或目录
-kFile or directory has the sticky bit set
-t文件句柄为 TTY(系统函数 isatty()的返回结果;不能对文件名使用这个测试)
-T文件有些像“文本”文件
-B文件有些像“二进制”文件
-M修改的时间(单位:天)
-A访问的时间(单位:天)
-C索引节点修改时间(单位:天)
  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-157176-1-1.html 上篇帖子: Perl最佳实践读书笔记-第一章 下篇帖子: Perl内置变量速查表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表