tmp是什么文件?Linux系統(tǒng)清理/tmp/文件夾的原理
.tmp 文件大部分都是因為不正常關機、或死機后所留下的文件,這些臨時的暫存盤,在你重新開機后,已經(jīng)沒有任何的用途,可以放心刪除。大家在使用Windows操作系統(tǒng)的時候,可能會經(jīng)常在C盤根目錄發(fā)現(xiàn)一些后綴名為TMP的文件,還會在Windows目錄里發(fā)現(xiàn)一個TEMP的目錄,TMP文件是各種軟件或系統(tǒng)產(chǎn)生的臨時文件,也就是常說的垃圾文件。Windows產(chǎn)生的臨時文件,本質(zhì)上和虛擬內(nèi)存沒什么兩樣,只不過臨時文件比虛擬內(nèi)存更具有針對性,單獨為某個程序服務而已。而它的專一性導致了許多新手對他望而生畏,不刪占據(jù)空間,刪了又怕導致程序無法運行。
Windows 在長年累月的使用之下,在 Windows\Temp 里一定會多出很多的「垃圾」,其實這 Temp 里的所有的文件、或文件夾都是可以刪除的,有空不妨常常清理下這個 Temp 文件夾,但是要留意一下,我指的是刪除 Temp 里的東西(Temp 文件夾還是保留的),不是要你把整個 Temp 連文件夾一起刪掉。 當你在刪除 Temp 里面的文件的時候,你可能會遇到「存取拒絕」的錯誤訊息,不要緊,這是很正常的。
因為某些是目前的暫存盤,Windows還正在使用中,你跳過出現(xiàn)存取拒絕訊息的文件,繼續(xù)刪除其它的文件即可. 一般來說,你當前運行著大型的工具軟件的時候,都不應該去碰臨時文件,比如Photoshop會在處理圖形時候產(chǎn)生巨大的臨時文件,如果你認為這不是你創(chuàng)建的文件企圖刪除,可能會導致Photoshop死機。你當前沒有運行程序的話,發(fā)現(xiàn)的臨時文件都可以刪除,以免它們天長日久堆積如山,占據(jù)磁盤空間還是小事,關鍵是它們又多又散亂,會給磁盤掃描整理帶來時間上的無謂消耗,也可能會造成文件分配表混亂,導致文件交叉鏈接的錯誤。但是不能所有的臨時文件都一概而論。 比如,C盤根目錄的TEMP目錄,是很多工具程序臨時文件的指向目錄,沒有這個目錄的話,臨時文件無法創(chuàng)建,這些工具軟件就很可能會出錯,所以要刪除的話,只應該清空里面的臨時文件垃圾,而不能把TEMP這個目錄都干掉了;Windows里通常也有一個TEMP文件,是系統(tǒng)默認的臨時文件的放置地方,也不建議連目錄都刪除了,定期清空里面的垃圾即可。
關于Linux系統(tǒng)清理/tmp/文件夾的原理
我們知道,在Linux系統(tǒng)中/tmp文件夾里面的文件會被清空,至于多長時間被清空,如何清空的,可能大家知識的就不多了。
在RHEL\CentOS\Fedora\系統(tǒng)中(本次實驗是在RHEL6中進行的)
先來看看tmpwatch這個命令,他的作用就是刪除一段時間內(nèi)不使用的文件(removes files which haven’t been accessed for a period of time)。具體的用法就不多說了,有興趣的自行研究。我們主要看看和這個命令相關的計劃任務文件。
他就是/etc/cron.daily/tmpwatch,我們可以看一下這個文件里面的內(nèi)容
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
-X '/tmp/hsperfdata_*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d "$d" ]; then
/usr/sbin/tmpwatch "$flags" -f 30d "$d"
fi
done
這個腳本大家仔細分析一下就明白了,第一行相當于一個標記(參數(shù)),第二行就是針對/tmp目錄里面排除的目錄,第三行,這是對這個/tmp目錄的清理,下面的是針對其他目錄的清理,就不說了。
我們就來看/usr/sbin/tmpwatch "$flags" 30d /var/tmp這一行,關鍵的是這個30d,就是30天的意思,這個就決定了30天清理/tmp下不訪問的文件。如果說,你想一天一清理的話,就把這個30d改成1d。
但有個問題需要注意,如果你設置更短的時間來清理的話,比如說是30分鐘、10秒等等,你可以在這個文件中設置,但你會發(fā)現(xiàn)重新電腦,他不清理/tmp文件夾里面的內(nèi)容,這是為什么呢?這就是tmpwatch他所在的位置決定的,他的上層目錄是/etc/cron.daily/,而這個目錄是第天執(zhí)行一次計劃任務,所以說,你設置了比一天更短的時間,他就不起作用了。這下明白了吧。
所以結論是:在RHEL6中,系統(tǒng)自動清理/tmp文件夾的默認時限是30天
在Debian\Ubuntu系統(tǒng)中(Ubuntu10.10為實驗環(huán)境)
在Ubuntu系統(tǒng)中,在/tmp文件夾里面的內(nèi)容,每次開機都會被清空,如果不想讓他自動清理的話,只需要更改rcS文件中的TMPTIME的值。
我們看如何來修改
sudo vi /etc/default/rcS
把
TMPTIME=0
修改成
TMPTIME=-1或者是無限大
改成這樣的話,系統(tǒng)在重新啟動的時候就不會清理你的/tmp目錄了。
依些類推,如果說要限制多少時間來更改的話,就可以改成相應的數(shù)字(本人沒有測試,我是這么理解的)
所以結論是:在Ubuntu中,系統(tǒng)自動清理/tmp文件夾的時限默認每次啟動
關鍵詞:tmp
閱讀本文后您有什么感想? 已有 人給出評價!
- 1
- 1
- 1
- 4
- 1
- 1