如果你使用過Linux 系統,那麼你一定知道/tmp 目錄,不過...如果你用的不多,可能就只知道這個目錄而已,不一定有機會深入了解它。
除此之外,還有一個 /var/tmp 目錄,這看起來差不多。今天我們就來了解一下關於 /tmp 目錄的相關內容,·以及它與 /var/tmp 目錄的差異。
tmp 是英文單字 temporary(臨時)的簡寫,顧名思義,它用於儲存臨時文件,例如係統和應用程式所使用你的臨時(短時間內所需要)的資料。在大多數Linux發行版中,tmp目錄都被預先配置為在系統重新啟動後自動清空。
例如,我們在系統中安裝軟體的時候,安裝程式會在 /tmp 目錄中存放一些需要用到的暫存檔案。
再比如,在處理某些項目的時候,系統可能會將更改的檔案暫時儲存在/tmp 目錄中,或者檔案自動儲存的版本也會儲存在/tmp目錄中。
總體來說,/tmp 目錄用於儲存一些臨時文件,當這些文件不再需要的時候,就可以將其刪除。
答案是否定的。 /tmp 目錄和 /var/tmp 目錄有顯著的差異。儘管他們都是用來處理臨時文件,但處理方式卻是不同的。
總體來說,/tmp 目錄用於儲存短期暫存文件,而 /var/tmp 目錄用於儲存長期暫存文件。
具體來說:
持久性(Endurance):通常,儲存在/tmp 目錄中的文件會在系統啟動時刪除,而/var/tmp 中的檔案不會被刪除;
#使用者權限和系統範圍(For user VS Systemwide):通常來講,每個使用者都可以存取/tmp 目錄中的文件,而/var/tmp 中的文件大多是針對於特定使用者的;
用法( Usage):這個是最關鍵的差異。 /tmp 目錄用於儲存短時間內所需的文件,如安裝軟體包;而 /var/tmp 目錄用於較長時間所需的文件,如係統備份或日誌文件。
前文中我們提到過,對於大多數 Linux 發行版而言,當系統重新啟動的時候會自動清理 /tmp 目錄。
那既然這樣的話,我們為什麼還要主動清理 /tmp 目錄呢?因為你不會像使用 Windows 系統那樣每天都會關機或重新啟動系統,有些 Linux 用戶會持續數週、數月甚至數年都不會重新啟動系統。
當然,並不是所有人都需要清理 /tmp 目錄,只有當你的伺服器磁碟空間不足的時候,才需要主動清理 /tmp 目錄。
要自動清理 /tmp 目錄,最關鍵的是需要先明確要刪除的內容,最好的方法是刪除過去三天內未使用且不屬於root使用者的檔案。
基於這個原則,我們可以使用以下指令:
sudo find /tmp -type f \( ! -user root \) -atime +3 -delete
但是上述指令還不能自動化。因此,我們需要建立一個 corn 作業來實現自動化。
sudo crontab -e
系統可能會要求你選擇文字編輯器,如果這是你第一次使用任務表(cron table)。大家可依各自習慣選擇,例如 vim 或 nano。
將如下內容貼在檔案結尾:
0 0 * * * sudo find /tmp -type f ! -user root -atime +3 -delete
儲存更改即可。
以上是Linux 中的 /tmp 目錄是做什麼用的?其與 /var/tmp 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!