ファイル整理できない人はtmpを使おうって話です。
tmpとは
unix系のOSには/tmp
が備わってます。
このディレクトリは、再起動時に内容がリセットされる特性を持ってます。
この特性はメモリと同じです。
そのため、tmpfs
という、メモリに展開されるfsが存在し、使われていたりします。
特徴
- 再起動時に内容がリセットされる
-
tmp
で使われるfsはtmpfs
なことが多い-
tmpfs
はメモリ(swapを含む)にデータを置く
ioが通常より早い可能性がある
-
コマンド
mktemp
は /tmp
にユニークなファイルorディレクトリ(-d
)を作成します。
temp=$(mktemp -d)
などで生成するのがおすすめです。
mktempで生成されるファイルorディレクトリは完全にランダム名で生成されます。
これにより、使用用途が外から特定されづらくなります。
mktemp
で作られるファイルorディレクトリ名には.
が含まれているので、一部のプログラムでは動作しなくなる可能性があります。
また、cd $(mktemp -d)
は推奨されません。 なぜならディレクトリを見失う可能性があるからです。
ユースケース
プロジェクトの生成を検証する時
例えば、viteでプロジェクトを作るときにどうすればいいか、迷いますよね。
そんなときにtmpです。
tmpに展開する時は、ファイル名を考える必要がありません。 再起動すれば全て消えます。
開発RTAを行う時
mktemp
を使えば、プロジェクト名を考える必要性がなくなり、開発RTAに貢献すると日記さんは考えます。
ダウンロードディレクトリ
ダウンロードしたファイルをダウンロードに放置するのは良くないと思う方は、tmpを使いましょう。
まとめ
tmpはいいぞ