Linux中的临时目录在哪里?

Pop*_*ops 82 linux temporary-files

Linux 是否有一个通用的标准临时目录,比如 Windows 的C:\Temp文件夹?如果有,它位于何处?我发现了一个关于以tmp编程方式查找目录的问题,但我想提前在 XML 配置文件中设置一个临时位置。

Cri*_*itu 113

文件系统层次标准3.0版说:

/tmp : 临时文件

/tmp目录必须可供需要临时文件的程序使用。

程序不得假定/tmp在程序调用之间保留了任何文件或目录。

基本原理

IEEE 标准 POSIX.1-2008 列出了与上述部分类似的要求。虽然存储在 中的数据/tmp可能会以特定于站点的方式被删除,但建议/tmp在系统启动时删除位于 中的文件和目录。

FHS 根据历史先例和惯例添加了此建议,但并未将其作为一项要求,因为系统管理不在本标准的范围内。

/var/tmp :系统重启之间保留的临时文件

/var/tmp目录可用于需要在系统重新引导之间保留的临时文件或目录的程序。因此,存储在/var/tmp中的数据比 中的数据更持久/tmp

/var/tmp系统启动时不得删除位于 中的文件和目录。尽管存储在 中的数据/var/tmp通常以特定于站点的方式删除,但建议删除发生的频率低于/tmp

另外,公开组基本规范问题7,环境变量提到了以下情况:

TMPDIR 此变量应代表一个目录的路径名,该目录可供需要一个位置来创建临时文件的程序使用。

  • 很难与标准争论。谢谢! (2认同)

oᴉɹ*_*ǝɥɔ 14

这是一个老问题,所以今天有另一种选择。依赖的 Linux 发行版systemd(占其中的 90%)现在可以使用$XDG_RUNTIME_DIR目录(XDG 基本目录规范)来存储某些类型的临时文件。它通常位于/run/user/$uid。这是一个具有700权限的每个用户目录,可提供更好的安全性。这是一个tmpfs提供性能的坐骑。缺点tmpfs是它应该只用于保存小文件和套接字。

我把它看作是/tmp和的联姻/var/run


Old*_*olf 11

是的 /tmp 用于一般用途。请参阅此处此处的文件系统层次结构标准。

/tmp/ 临时文件(另见 /var/tmp)。通常不会在系统重新启动之间保留。

在 PDF 中列出了更多详细信息。