一時ディレクトリ
Temporary directory
処理中にしか使わないディレクトリ。
処理が終ったときには破棄される。
一時ファイルを作るよりも一時ディレクトリを作る方がよい。
複数の一時ファイルを使うならば、一時ディレクトリでまとまっている方がよい。
一時ディレクトリであれば、ディレクトリの権限をしっかりしておけば、その配下の権限はそこまで気にしなくてもよい。
万が一途中でエラーで落ちた場合
ディレクトリが残るがディレクトリごと消せばよい。
ディレクトリの中に残ったファイルで再実行などの対処可能な場合がある。
可能な限り、システムの一時ディレクトリの中に作るべき。
ほとんどの場合、システムの一時ディレクトリはセキュリティとパフォーマンスが考慮されている。
一時ディレクトリは、ファイルシステム上の既存の名前とは衝突しないユニークな名前を作る必要がある。
衝突した場合は再生成する。
新規作成時には排他で作る必要がある。
悪意のある他者が同名で作ってしまう可能性がある。
シェルスクリプト
mktemp -d が使えるならその方がいいが、そうではないことがある。mktemp は POSIX 準拠ではない。
POSIX準拠シェルスクリプト用の必要十分で短いmktempシェル関数https://qiita.com/ko1nksm/items/45574a24ecd5f15a731e
C言語
mktemp
tmpnam
これはファイル名用なので要注意
Node.js