TMPDIR
TMPDIRは、UnixおよびPOSIXにおいて、一時ファイルを作成するためのディレクトリ(一時ディレクトリ)を指定する標準的な環境変数である[1]。ほとんどのUnixプログラムはこの設定に従い、一時ファイルを置く場所として、一般的な既定値である/tmp[2][3]や/var/tmp[4]ではなく、この変数の値を用いる。
仕様
TMPDIRは、Single UNIX Specificationをはじめとする、Unixやそれに類するさまざまな標準で規定されている。POSIXでは、一時ファイルを作成する場所を必要とするプログラムのために用意されたディレクトリのパス名を表す変数とされている[1]。
POSIXは、/tmpを一時ファイルの作成用に用意されたディレクトリと定めているが、そこに作成したファイルがアプリケーションの次回の起動時まで残っていることを前提にしてはならないとしている[2]。Filesystem Hierarchy Standard(FHS)も同様の定めを置くほか、システムの再起動後も残しておく必要がある一時ファイルのために/var/tmpを用意している[3][4]。
類似の環境変数
TEMP、TEMPDIR、TMPといった名前が受け付けられることもあるが、これらはPOSIXに準拠しないオペレーティングシステムや、標準に従わないプログラムで多く用いられる。例えばMicrosoft WindowsのGetTempPath関数は、一時ディレクトリとしてTMP、TEMP、USERPROFILEの各環境変数の値を順に調べ、いずれもなければWindowsディレクトリを用いる[5]。
関連項目
脚注
- 1 2 “The Open Group Base Specifications Issue 8, IEEE Std 1003.1-2024: 8.3 Other Environment Variables” (英語). The Open Group. 2026年10月21日閲覧。
- 1 2 “The Open Group Base Specifications Issue 8, IEEE Std 1003.1-2024: 10.1 Directory Structure and Files” (英語). The Open Group. 2026年10月21日閲覧。
- 1 2 “Filesystem Hierarchy Standard 3.0: 3.18. /tmp : Temporary files” (英語). Linux Foundation. 2026年10月21日閲覧。
- 1 2 “Filesystem Hierarchy Standard 3.0: 5.15. /var/tmp : Temporary files preserved between system reboots” (英語). Linux Foundation. 2026年10月21日閲覧。
- ↑ “GetTempPathA function (fileapi.h)” (英語). Microsoft Learn. マイクロソフト. 2026年10月21日閲覧。