エンジニアやUNIX・Linux系のOSを触ったことがある方であれば、/tmpというディレクトリの存在はとても馴染みが深いかと思います。
/tmpディレクトリは、基本的にあらゆるLinuxおよびUNIX系OSのルートディレクトリに初めから作られています。
/tmpは、主に一時的なファイル置き場としてよく使われます。
例えば、ブラウザなどからアップロードされたファイルを正しい場所に移動するまでの間ファイルを保管しておいたり、ファイルの変換を行うために、一時的に元のファイルを置いておくファイル置き場としたり…など、とりあえずずっとは保管しない、一時的に置いておきたいファイルやディレクトリの保管場所として使うことができます。
そういった用途のディレクトリになっているので、だれでもアクセスできる代わりに、残存しているファイルはOS側のプロセスによって定期的に削除されるようになっています。
/tmpディレクトリの中身が削除されるタイミングを知るには、下記のコマンドを入力します。
sudo systemctl list-timers
すると下記のような結果が表示されます。
NEXT LEFT LAST PASSED UNIT ACTIVATES
土 2019-07-27 10:07:41 JST 19h left 金 2019-07-26 10:07:41 JST 4h 58min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
1 timers listed.
Pass --all to see loaded but inactive timers, too.
UNITがタイマーの名前、ACTIVATESが決められた時間が来たときに実行される処理の名前です。
NEXTに出ている時間が次回実行される時間となっています。
たとえば、なんらかのプログラムで/tmpを使っていて、本来であればファイルが存在しているはずなのにいつの間にか消えている…というときはこのコマンドでシステム側から消されていないか確認することができるようになっています。
/tmpについて困ったときは、一度確認してみるとよいかもしれません。