検証するなら 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 募集中です!