在linux系统中,tmp目录是系统预设的临时文件存储目录,所有用户都可以在该目录下创建、修改临时文件,系统也会定期清理其中的过期数据,避免占用过多磁盘空间。

tmp目录的默认路径
linux系统中tmp目录的默认绝对路径是/tmp,这个路径是标准化的,几乎所有主流的linux发行版都会遵循这个规范,不管是Ubuntu、CentOS还是Debian系统,默认都会存在这个路径的tmp目录。
我们可以通过终端命令直接查看该目录是否存在,执行以下命令即可:
# 切换到tmp目录 cd /tmp # 查看当前所在路径,确认是否为/tmp pwd
如果执行后输出的结果是/tmp,就说明已经成功进入系统的tmp目录了。
如何快速定位tmp目录
除了直接通过绝对路径访问,还有几种方式可以快速找到tmp目录的位置:
- 使用
ls命令查看根目录下的内容,根目录下的tmp就是目标目录:ls /
- 使用
find命令全局搜索tmp目录:find / -name tmp -type d 2>/dev/null
这个命令会搜索系统中所有名为tmp的目录,其中/tmp就是系统默认的临时目录。 - 使用
echo命令查看环境变量TMPDIR,部分系统会设置这个环境变量指向临时目录:echo $TMPDIR
如果输出为空,说明系统使用默认的/tmp路径。
tmp目录的相关特性
权限设置
tmp目录的权限通常是1777,也就是drwxrwxrwt,其中最后一位的t是粘滞位(sticky bit),这个权限设置的含义是:所有用户都可以在tmp目录下创建文件,但是只有文件的所有者、root用户才能删除自己创建的文件,其他用户无法删除别人的文件,避免临时文件被误删。
我们可以通过以下命令查看tmp目录的权限:
ls -ld /tmp
清理规则
不同linux发行版的tmp目录清理规则略有不同:
- 大部分系统会在重启时清空tmp目录下的所有内容
- 部分系统会通过定时任务(cron)或者systemd的临时文件清理服务,定期删除超过一定时长(比如10天)未访问的临时文件
如果需要手动清理tmp目录下的内容,可以执行以下命令,注意不要删除正在被使用的临时文件:
# 清空tmp目录下所有内容,谨慎执行 rm -rf /tmp/*
特殊情况说明
有些用户可能会发现自己的系统中除了/tmp之外,还有/var/tmp目录,这两个目录都是临时文件存储目录,但是用途有区别:
| 目录路径 | 清理规则 | 适用场景 |
|---|---|---|
| /tmp | 重启即清空,或短期未访问自动清理 | 存放短期临时文件,比如程序运行时的临时缓存 |
| /var/tmp | 重启后不会清空,清理周期更长 | 存放需要保留较长时间的临时文件,比如软件安装过程中的临时包 |
如果用户找不到tmp目录,首先确认是否输入了正确的路径/tmp,如果提示目录不存在,可能是系统被手动修改过,这种情况可以重新创建该目录并设置正确的权限:
# 创建tmp目录 mkdir -p /tmp # 设置权限为1777 chmod 1777 /tmp