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