Linux是否有一个通用的标准临时目录,例如Windows的C:\Temp
文件夹?如果是这样,它在哪里?我发现了一个有关以tmp
编程方式查找目录的问题,但我想提前在XML配置文件中设置临时位置。
C:\Temp
肯定不是标准的。Windows 95已经%TEMP%
指向C:\WINDOWS\Temp
。
Linux是否有一个通用的标准临时目录,例如Windows的C:\Temp
文件夹?如果是这样,它在哪里?我发现了一个有关以tmp
编程方式查找目录的问题,但我想提前在XML配置文件中设置临时位置。
C:\Temp
肯定不是标准的。Windows 95已经%TEMP%
指向C:\WINDOWS\Temp
。
Answers:
该文件系统层次标准 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
该变量应表示目录的路径名,该目录可用于需要放置临时文件的地方的程序。
您不能提前选择一个适用于任何Linux系统的临时目录名称。实际上,您也无法在Windows上执行此操作。根据Wikipedia 关于临时文件夹的文章,Windows上的临时目录由环境变量TEMP确定。如果您只是c:\Temp
在将TEMP设置为其他名称的Windows系统上用作临时目录,则任何使用XML文件选择临时目录的程序都会失败。
简而言之,系统临时目录由我所知道的所有现代操作系统(包括Windows和任何类似UNIX的系统)上的环境确定。只要未更改默认值,就可以将单个静态路径设置为临时目录。
无论如何,典型Linux系统中的标准临时目录是/tmp
。这相当于C:\Temp
在这个意义上,它只是默认的临时目录,不具有普遍性。即使/tmp
可用,即使用户(或系统)已设置TEMP环境变量,也应使用该变量的值。
您可以尝试选择一个相对于用户主目录的临时目录,您可以创建该目录。
TMPDIR
环境变量。
/tmp
主持临时变量?
/tmp
,但是对于这是Linux的标准还是只是一个通用约定,它们并不确定。