Linux 中的 /tmp 目录是做什么用的?其与 /var/tmp 有什么区别?-LMLPHP

如果你使用过 Linux 系统,那么你一定知道 /tmp 目录,不过...如果你用的不多,可能就只是知道这个目录而已,不一定有机会深入了解它。

除此以外,还有一个 /var/tmp 目录,这看起来差不多。今天我们就来了解一下关于 /tmp 目录的相关内容,·以及它与 /var/tmp 目录的区别。

/tmp 目录是做什么用的?

tmp 是英文单词 temporary(临时)的简写,顾名思义,它用于存储临时文件,比如系统和应用程序所使用你的临时(短时间内所需要)的数据。在大多数Linux发行版中,tmp目录都被预先配置为在系统重新启动后自动清空。

比如,我们在系统中安装软件的时候,安装程序会在 /tmp 目录中存放一些需要用到的临时文件。

再比如,在处理某些项目的时候,系统可能会将更改的文件临时存储在 /tmp 目录中,或者文件自动保存的版本也会存储在 /tmp 目录中。

总体来说,/tmp 目录用于存储一些临时文件,当这些文件不再需要的时候,就可以将其删除。

/tmp 与 /var/tmp 目录是一样的吗?

答案是否定的。/tmp 目录和 /var/tmp 目录有着显著的差异。尽管他们都是用于处理临时文件,但处理方式却是不同的。

总体来说,/tmp 目录用于存储短期临时文件,而 /var/tmp 目录用于存储长期临时文件。

具体来说:

持久性(Endurance):通常,存储在 /tmp 目录中的文件会在系统启动时删除,而 /var/tmp 中的文件不会被删除;

用户权限和系统范围(For user VS Systemwide):通常来讲,每个用户都可以访问 /tmp 目录中的文件,而 /var/tmp 中的文件大多是针对于特定用户的;

用法(Usage):这个是最关键的区别。/tmp 目录用于存储短时间内所需的文件,如安装软件包;而 /var/tmp 目录用于较长时间所需的文件,如系统备份或日志文件。

自动清理 tmp 目录

前文中我们提到过,对于大多数 Linux 发行版而言,当系统重启的时候会自动清理 /tmp 目录。

那既然这样的话,我们为什么还需要主动清理 /tmp 目录呢?因为你不会像使用 Windows 系统那样每天都会关机或者重启系统,有些 Linux 用户会持续数周、数月甚至数年都不会重启系统。

当然,并不是所有人都需要清理 /tmp 目录,只有当你的服务器磁盘空间不足的时候,才需要主动清理 /tmp 目录。

要自动清理 /tmp 目录,最关键的是需要首先明确要删除的内容,最好的办法是删除过去三天内未使用且不属于root用户的文件。

基于这个原则,我们可以使用如下命令:

sudo find /tmp -type f \( ! -user root \) -atime +3 -delete
登录后复制

但是上述命令还不能实现自动化。因此,我们需要创建一个 corn 作业来实现自动化。

sudo crontab -e
登录后复制

系统可能会要求你选择文本编辑器,如果这是你第一次使用任务表(cron table)。大家可根据各自习惯选择,比如 vim 或者 nano。

Linux 中的 /tmp 目录是做什么用的?其与 /var/tmp 有什么区别?-LMLPHP

将如下内容粘贴在文件末尾:

0 0 * * * sudo find /tmp -type f ! -user root -atime +3 -delete
登录后复制

保存更改即可。

以上就是Linux 中的 /tmp 目录是做什么用的?其与 /var/tmp 有什么区别?的详细内容,更多请关注Work网其它相关文章!

09-14 12:41