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