検証するなら tmp 使えや
ファイル整理中にめっちゃ思ったこと。 tmp 使って欲しい。
tmp ってメモリに置かれるから(※OS による)、早い、自動で消してくれる、そして、SSD の寿命を奪わない
まじで人に「ファイルはこうつくります!!!」って見せびらかす時は
tmp 使ってくれ...
tmp とは
unix 系の OS には/tmp
が備わってます。
このディレクトリは、再起動時に内容がリセットされる特性を持ってます。
この特性はメモリと同じです。
そのため、tmpfs
という、メモリに展開される fs が存在し、使われていたりします。
note
windows では、C:\Users\{username}\AppData\Local\Temp
が同じような役割を果たします。
(ただし、再起動時に内容がリセットされるわけではありません。)
(AI より)
特徴
- 再起動時に内容がリセットされる
tmp
で使われる fs はtmpfs
なことが多いtmpfs
はメモリ(swap を含む)にデータを置く io が通常より早い可能性がある
コマンド
mktemp
は /tmp
にユニークなファイル or ディレクトリ(-d
)を作成します。
temp=$(mktemp -d)
などで生成するのがおすすめです。
tip
mktemp で生成されるファイル or ディレクトリは完全にランダム名で生成されます。 これにより、使用用途が外から特定されづらくなります。
warning
mktemp
で作られるファイル or ディレクトリ名には.
が含まれているので、一部のプログラムでは動作しなくなる可能性があります。
また、cd $(mktemp -d)
は推奨されません。 なぜならディレクトリを見失う可能性があるからです。
ユースケース
プロジェクトの生成を検証する時
例えば、vite でプロジェクトを作るときにどうすればいいか、迷いますよね。 そんなときに tmp です。 tmp に展開する時は、ファイル名を考える必要がありません。 再起動すれば全て消えます。
開発 RTA を行う時
mktemp
を使えば、プロジェクト名を考える必要性がなくなり、開発 RTA に貢献すると日記さんは考えます。
ダウンロードディレクトリ
ダウンロードしたファイルをダウンロードに放置するのは良くないと思う方は、tmp を使いましょう。
まとめ
tmp はいいぞ
ご意見募集中
当サイトのリポジトリにて、issue 募集中です!
- 投稿には github アカウントが必要です。
- テンプレート用意してます。 ぜひ活用してください。