一些使用Linux系統(tǒng)的用戶經(jīng)常會(huì)遇到,顯示磁盤空間已滿的狀況,就不得不刪除一些文件了。但是回頭算算發(fā)現(xiàn),總文件所占空間大小,和磁盤的總大小并不一致,那么那些剩余的空間都去哪兒了呢?是哪些文件隱藏在角落里占據(jù)了一部分的空間。下面小編就來(lái)教大家如何找回那些丟失的磁盤空間,徹底清理磁盤中的隱藏文件和空洞文件。以下的三種方法可以逐一進(jìn)行,就能達(dá)到徹底清理的效果了。
經(jīng)常接觸linux的用戶也許會(huì)經(jīng)常遇到這樣的問(wèn)題:
收到一個(gè)磁盤告警,說(shuō)某某分區(qū)已經(jīng)滿了,然后登錄服務(wù)器 df 一看,發(fā)現(xiàn)磁盤確實(shí)快滿了,然后你就想找到具體是哪個(gè)目錄滿了,于是 du -s * 一看,卻發(fā)現(xiàn)所有子目錄的大小總和卻和df顯示的總已使用磁盤空間對(duì)不上,有時(shí)候甚至還相差很多,于是就納悶了:我的磁盤空間去哪了呢?
這里就列3種情況:
隱藏文件
linux系統(tǒng)把文件名以。(點(diǎn)號(hào))開(kāi)頭的文件視為隱藏文件,而類似bash里*這樣的操作符是不會(huì)匹配隱藏文件的,所以如果根目錄下有個(gè)較大的隱藏文件的話,是不會(huì)被du -sh * 統(tǒng)計(jì)到的,解決辦法就是: du -sh 。[^.]* 。
非空目錄被mount
一般掛載其他分區(qū)的時(shí)候都是建議mount到一個(gè)空目錄的,那么如果mount到一個(gè)非空的目錄,情況會(huì)怎么樣呢?比如/mnt目錄本來(lái)里面是有文件 的,然后執(zhí)行了sudo mount /dev/sda6 /mnt。其實(shí)這個(gè)mount命令完全能正常執(zhí)行,被mount的分區(qū)也能正常訪問(wèn),只是原先在/mnt里的文件,現(xiàn)在已經(jīng)訪問(wèn)不到了,包括du也看不到 大小了,但是磁盤空間卻還是被占著,因?yàn)槿绻?umount /mnt 以后,原來(lái)的文件都還會(huì)回來(lái)的。
空洞文件
一個(gè)文件的大小和所占磁盤空間也不一定完全一致,比如某個(gè)程序一直打開(kāi)著一個(gè)叫l(wèi)og的文件在寫,而中間有人用 》 log 命令清除了log的內(nèi)容,就會(huì)產(chǎn)生這樣的文件。
大多數(shù)情況下來(lái)看,以上這三種垃圾,電腦中都會(huì)隱藏,那些電腦磁盤不大的朋友們可以勤加清理,可以釋放一些空間以被儲(chǔ)存其他重要的文件。一般這三種方法清理之后,電腦中的垃圾文件就被清理的差不多了,所以是個(gè)還蠻有效的方法呢,試試吧!