Linux 中的 /tmp 目錄是做什么用的?其與 /var/tmp 有什么區(qū)別?

Linux 中的 /tmp 目錄是做什么用的?其與 /var/tmp 有什么區(qū)別?

如果你使用過 linux 系統(tǒng),那么你一定知道 /tmp 目錄,不過…如果你用的不多,可能就只是知道這個(gè)目錄而已,不一定有機(jī)會(huì)深入了解它。

除此以外,還有一個(gè) /var/tmp 目錄,這看起來差不多。今天我們就來了解一下關(guān)于 /tmp 目錄的相關(guān)內(nèi)容,·以及它與 /var/tmp 目錄的區(qū)別。

/tmp 目錄是做什么用的?

tmp 是英文單詞 temporary(臨時(shí))的簡寫,顧名思義,它用于存儲(chǔ)臨時(shí)文件,比如系統(tǒng)和應(yīng)用程序所使用你的臨時(shí)(短時(shí)間內(nèi)所需要)的數(shù)據(jù)。在大多數(shù)linux發(fā)行版中,tmp目錄都被預(yù)先配置為在系統(tǒng)重新啟動(dòng)后自動(dòng)清空。

比如,我們?cè)谙到y(tǒng)中安裝軟件的時(shí)候,安裝程序會(huì)在 /tmp 目錄中存放一些需要用到的臨時(shí)文件。

再比如,在處理某些項(xiàng)目的時(shí)候,系統(tǒng)可能會(huì)將更改的文件臨時(shí)存儲(chǔ)在 /tmp 目錄中,或者文件自動(dòng)保存的版本也會(huì)存儲(chǔ)在 /tmp 目錄中。

總體來說,/tmp 目錄用于存儲(chǔ)一些臨時(shí)文件,當(dāng)這些文件不再需要的時(shí)候,就可以將其刪除。

/tmp 與 /var/tmp 目錄是一樣的嗎?

答案是否定的。/tmp 目錄和 /var/tmp 目錄有著顯著的差異。盡管他們都是用于處理臨時(shí)文件,但處理方式卻是不同的。

總體來說,/tmp 目錄用于存儲(chǔ)短期臨時(shí)文件,而 /var/tmp 目錄用于存儲(chǔ)長期臨時(shí)文件。

具體來說:

持久性(Endurance):通常,存儲(chǔ)在 /tmp 目錄中的文件會(huì)在系統(tǒng)啟動(dòng)時(shí)刪除,而 /var/tmp 中的文件不會(huì)被刪除;

用戶權(quán)限和系統(tǒng)范圍(For user VS Systemwide):通常來講,每個(gè)用戶都可以訪問 /tmp 目錄中的文件,而 /var/tmp 中的文件大多是針對(duì)于特定用戶的;

用法(Usage):這個(gè)是最關(guān)鍵的區(qū)別。/tmp 目錄用于存儲(chǔ)短時(shí)間內(nèi)所需的文件,如安裝軟件包;而 /var/tmp 目錄用于較長時(shí)間所需的文件,如系統(tǒng)備份或日志文件。

自動(dòng)清理 tmp 目錄

前文中我們提到過,對(duì)于大多數(shù) Linux 發(fā)行版而言,當(dāng)系統(tǒng)重啟的時(shí)候會(huì)自動(dòng)清理 /tmp 目錄。

那既然這樣的話,我們?yōu)槭裁催€需要主動(dòng)清理 /tmp 目錄呢?因?yàn)槟悴粫?huì)像使用 Windows 系統(tǒng)那樣每天都會(huì)關(guān)機(jī)或者重啟系統(tǒng),有些 Linux 用戶會(huì)持續(xù)數(shù)周、數(shù)月甚至數(shù)年都不會(huì)重啟系統(tǒng)。

當(dāng)然,并不是所有人都需要清理 /tmp 目錄,只有當(dāng)你的服務(wù)器磁盤空間不足的時(shí)候,才需要主動(dòng)清理 /tmp 目錄。

要自動(dòng)清理 /tmp 目錄,最關(guān)鍵的是需要首先明確要?jiǎng)h除的內(nèi)容,最好的辦法是刪除過去三天內(nèi)未使用且不屬于root用戶的文件。

基于這個(gè)原則,我們可以使用如下命令:

sudo find /tmp -type f ( ! -user root ) -atime +3 -delete

但是上述命令還不能實(shí)現(xiàn)自動(dòng)化。因此,我們需要?jiǎng)?chuàng)建一個(gè) corn 作業(yè)來實(shí)現(xiàn)自動(dòng)化。

sudo crontab -e

系統(tǒng)可能會(huì)要求你選擇文本編輯器,如果這是你第一次使用任務(wù)表(cron table)。大家可根據(jù)各自習(xí)慣選擇,比如 vim 或者 nano。

Linux 中的 /tmp 目錄是做什么用的?其與 /var/tmp 有什么區(qū)別?

將如下內(nèi)容粘貼在文件末尾:

0 0 * * * sudo find /tmp -type f ! -user root -atime +3 -delete

保存更改即可。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享