Linux の「/tmp」または tmp ディレクトリ (一時ディレクトリ) は、プログラムが実行セッション中に使用できる必要なファイルを格納する場所です。これは、Linux で最もよく使用されるディレクトリの 1 つです。あなたが文書を書いているとしましょう。あなたはvscodeでそれをやっています。 vscode はドキュメントの一時コピーを tmp ファイルに保存し、定期的に更新します。いつでもそこにアクセスでき、必要に応じて復元できます。
効果的な Linux ユーザーになりたい場合は、tmp ディレクトリについて徹底的に学ぶことが必須です。それがどのように機能するか、このディレクトリの属性などを知ることで、Linux の制御が大幅に強化されます。私たちはあなたの心に浮かぶ可能性のあるすべての質問に答えます.私たちと一緒に学びましょう。
Linux tmp ディレクトリ:目的は何ですか?
/tmp ディレクトリには、プログラムの実行中に「一時的に」必要となるすべての必要なファイルが含まれています。クラッシュや予期しないイベントが発生した場合は、ディレクトリからファイルを取得できます。また、プログラムの実行中にどのサブプログラムが使用されているかを確認できます。
目的の場所にファイルを保存してプログラムを適切に終了すると、すべての一時的なプログラムまたはドキュメントが消えて、ディレクトリが空になります。空でない場合は、PC の再起動後に空になります。
このディレクトリがいっぱいになることはありますか?
通常の Linux ユーザーにとって、tmp ディレクトリをいっぱいにするのは非常に困難です。 tmp ディレクトリに保存されるファイルは非常に小さく、サイズは数キロバイトです。そのため、ディレクトリを埋めるために膨大な量のファイルをそこに集める必要があります。不可能ではありませんが、本当に難しいです。
通常、PC で 1 人または 2 人のユーザーを実行し、頻繁に PC の電源を切ります。少数のユーザーを使用すると、作成される一時ファイルの量が少なくなります。また、PC をシャットダウンすると、すべての一時ファイルが消去されるため、心配する必要はありません。
大量のユーザーを含むサーバーを実行している場合、tmp ディレクトリは頭痛の種です。サーバーを頻繁にシャットダウンすることはできないため、自動的に空にすることはできません。このシナリオでは、一時ファイルを手動で削除する必要があります。
手動で tmp ディレクトリを空にする
平均的な Linux ユーザーとして、この tmp ディレクトリを手動で空にすることはお勧めしません。内部に保存されているファイルは、現在開いているプログラムを実行するために必要であるため、システム クラッシュが発生します。
サーバーを実行している場合、tmp ディレクトリを空にする体系的な方法があります。以降のセクションでは、そのアプローチについて詳しく説明します。
tmp ディレクトリからファイルを効果的に削除するには、システムに crontab が必要です。 crontab について何も知らない場合は、簡単に説明させてください。
crontab は、Linux システムで事前にスケジュールされた特定の操作を実行するアプリケーションです。たとえば、定期的にシステムを更新する必要があるとします。
crontab を使用すると、このタスクを実行できます。操作がいつ行われ、どのように行われるべきかを伝えるだけです。その特定の瞬間に、crontab は指示に従ってジョブを実行します。
サーバーには多数のユーザーがいて、それぞれに独自の一時ファイルがあります。それらをランダムに削除すると、ユーザーのアクティビティに重大な干渉が発生します。使用されていない一時ファイルを検索してから削除する必要があります。それはかなり退屈で単調なことです。また、時間も無駄になります。
実行可能な解決策は、一定期間アクセスされていないファイルを一定期間後に自動的に削除することです。この自動化されたプロセスは効率的で時間を節約します。また、労力を節約できます。
これらの自動操作を実行するには、crontab を利用する必要があります。ということで、先ほどお話しました。未使用のファイルを tmp ディレクトリから 1 週間に 1 回削除するとします。
まず、サーバーのユーザーにこれについて通知します。 1 週間でアクセスされない一時ファイルを削除することを伝えます。ポリシーを発表せずに作戦を実行すると、虐殺につながる可能性があります。
ディレクトリのクリーニング手順
次に、目的のファイルを見つけるスクリプトを入力する必要があります。コマンドは次のとおりです。
find /tmp -type f \( ! -user root \) -atime +7
これを実行すると、過去 7 日間アクセスされていないすべてのファイル (root ユーザーのファイルを除く) を見つけることができます。これで半分完了です。削除する不要なファイルが見つかりました。それらを削除するには、これを実行する必要があります:
find /tmp -type f \( ! -user root \) -atime +7 -delete
そのため、Linux の tmp ディレクトリを体系的に空にする方法を見つけました。しかし、サーバーの所有者は毎週スクリプトを手動で実行する必要があります。これは、crontab を使用することで回避できます。スクリプトを定期的に実行できるようにするために、構文を含むファイルを作成しましょう。現在、「tmp.swipe.sh」という名前のファイルを作成しています (引用符は除く)。
次に、crontab コマンドを設定します。まず、これを実行します:
crontab -e
crontab ファイルが開きます。次に、そこでこのコマンドを実行します。毎週月曜日の午後 12 時にスクリプトを実行します。
0 0 * * mon /opt/scripts/tmp.swipe.sh
これを書いた後、出口を保存します。
そのため、週に 1 回 tmp ディレクトリをクリーンアップする方法を作成しました。もう考える必要はありません。時間、スペース、労力を節約できます。ご都合に合わせて時間間隔を変更することもできます。ここでは、手順を説明するための例としてのみ 7 日間を使用しました。
/var/tmp という名前のディレクトリがあります。これと /tmp の違いは何ですか?
どちらも基本的にオペレーティングシステムで同じ役割を果たします。唯一の違いは削除期間です。
システムを再起動すると、/tmp 内のファイルは自動的に削除されますが、/var/temp 内のファイルはシステムの再起動だけでは削除されません。
また、/tmp 内のファイルは 10 日後に自動的に空になります。逆に、/var/tmp 内のファイルは月に 1 回削除されます。
誤って tmp ディレクトリを削除してしまった場合
多くの Linux ユーザーが誤ってディレクトリ全体を削除してしまうため、tmp ディレクトリの復元が必要になることがよくあります。復元プロセスはまったく難しい作業ではありません。以下のコマンドを実行します:
sudo mkdir /tmp
sudo chmod 1777 /tmp
「mkdir」は、新しい tmp ディレクトリを作成します。そして、ユーザーにディレクトリへのアクセスを許可しています。これを実行して、アクセス許可について再確認してください:
ls -ld /tmp
ここで、PC をシャットダウンします。そして、再びオンにします。新しい tmp ディレクトリを使用する準備ができました。
結論
ここでは、Linux の tmp ディレクトリについて多くのことを説明しました。これらの点を念頭に置いておくだけで、すべてのユーザーが Linux システムを簡単に実行できます。
私の意見では、これで十分だと思いますが、この投稿で取り上げるべき何かが頭の中にあるかもしれませんが、私はそれをしていません.男にとっては間違いです。ここで言及されるはずだった必要な部分をコメントに残してください。今日は以上です。