linux创建文件后会自动删除,linux会自动删除目录和文件的吗

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

建议不要在 /tmp 或 /var/tmp 中存放需由用户掌握的文件

unix 系统的习惯做法是将系统运行过程中的产生的临时文件保存在 /tmp 和 /var/tmp 中。这两者的区别在于 /tmp 中保存的临时文件原则上将在系统重新启动后删除,这样做的好处是即使系统异常终止也不会最终留下无用的临时文件。但在实际应用中通常不会这么做,而是通过一个 cron 脚本或者守护进程定期检查 /tmp 下临时文件的最后更新时间,将最后更新时间超过一段时间(通常是1-30天左右)的临时文件予以删除。这样做的好处是既不会令临时文件泛滥成灾,又不会在执行一些相当耗时的工作如编译大型软件时,因为系统意外重启而丢失已经生成的工作成果。

对于一些需要提高文件存取效率,同时不担心丢失文件的场合(如普通桌面应用,或者加了UPS的服务器),通常会将 tmpfs 文件系统挂载到 /tmp 上。这样系统一旦重启,/tmp 下的文件立即丢失。

与 /tmp 不同的是,/var/tmp 中保存的临时文件原则上不会被系统自动清除。清除 /var/tmp 下临时文件的责任由用户承担。

从用户的角度上讲,/tmp 下的临时文件可以称为“短期临时文件”。/var/tmp 下的临时文件可以称为“长期临时文件”。这两者还有个共同点,那就是虽然用户可以在里面创建临时文件(用户拥有目录的使用权),但这两者都为系统所有(系统拥有目录的所有权)。原则上在必要时系统可以不经用户同意而自行删除里面的临时文件。所以这两者都不适合存放需要由用户完全掌控的文件(如用户资料等)。

因此,用户在创建临时文件时,应根据实际需要选择合适的位置来保存临时文件。如果希望由系统自动清除,则将临时文件保存在 /tmp 中。如果用户希望在需要的时候自行清除临时文件,则将临时文件保存在 /var/tmp 中。

至于需要长期保存的有价值的资料应尽量保存在用户自己的目录中。因为即使 /var/tmp 下的文件不会被自动清除,也保不住那天系统管理员(root),或者哪个“垃圾清除软件”会为了腾出磁盘空间而将 /var/tmp 下的文件“一锅端”。到那时就麻烦了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值