一時ファイル
Temporary file
処理中にしか使わないファイル。
処理が終ったときには破棄される。
どういう時に一時ファイルを使うか?
メモリ上に置けないような巨大データの保持
時間を置いて(再)利用するデータの保持
プロセス間通信
ファイルの仮置き(元のファイルをいきなり上書きして破壊しないように)
ほとんどのファイルはシーケンシャル型データになっている。
ランダムアクセス型のように途中を書き換えることができない。
一時的なバックアップ
テスト用
一時ファイルを単独で作るよりは、一時ディレクトリを作ってその中で一時ファイルを作った方がよい。 ファイル名が漏れること自体が脆弱性をもたらすことがある。
一般的には、プロセスに対して、間違いなく書き込みが許されているのは一時ディレクトリだけである。
C言語
FILE *tmpfile(void);
ISO C, POSIX.1
クローズ時に自動削除。(プロセスを超えて使えない。)
ファイル名は分からない。(他プロセスには引き渡せない。ファイル名変更することができない。)
tempnam, tmpnam
使うな。
名前の決定方法が脆弱性を持っている。
名前を決定してから存在を確かめたり書き込みを試すのは安全ではない。
外部から同名のファイルを作られてしまうことがある。
Node.js
標準ライブラリには存在しない。