Linux系統(tǒng)磁盤提示滿了,可是磁盤內(nèi)文件加起來的大小和被占用的大小不一致,這就是磁盤丟失的情況,那么是什么程序占用了磁盤空間?下面小編就給大家介紹下Linux找回丟失磁盤空間的方法。

經(jīng)常接觸linux的用戶也許會經(jīng)常遇到這樣的問題:
收到一個磁盤告警,說某某分區(qū)已經(jīng)滿了,然后登錄服務(wù)器 df 一看,發(fā)現(xiàn)磁盤確實快滿了,然后你就想找到具體是哪個目錄滿了,于是 du -s * 一看,卻發(fā)現(xiàn)所有子目錄的大小總和卻和df顯示的總已使用磁盤空間對不上,有時候甚至還相差很多,于是就納悶了:我的磁盤空間去哪了呢?
這里就列3種情況:
隱藏文件
linux系統(tǒng)把文件名以。(點號)開頭的文件視為隱藏文件,而類似bash里*這樣的操作符是不會匹配隱藏文件的,所以如果根目錄下有個較大的隱藏文件的話,是不會被du -sh * 統(tǒng)計到的,解決辦法就是: du -sh 。[^.]* 。
非空目錄被mount
一般掛載其他分區(qū)的時候都是建議mount到一個空目錄的,那么如果mount到一個非空的目錄,情況會怎么樣呢?比如/mnt目錄本來里面是有文件的,然后執(zhí)行了sudo mount /dev/sda6 /mnt。其實這個mount命令完全能正常執(zhí)行,被mount的分區(qū)也能正常訪問,只是原先在/mnt里的文件,現(xiàn)在已經(jīng)訪問不到了,包括du也看不到大小了,但是磁盤空間卻還是被占著,因為如果你 umount /mnt 以后,原來的文件都還會回來的。
空洞文件
一個文件的大小和所占磁盤空間也不一定完全一致,比如某個程序一直打開著一個叫l(wèi)og的文件在寫,而中間有人用 》 log 命令清除了log的內(nèi)容,就會產(chǎn)生這樣的文件。
上面就是Linux找回丟失磁盤空間的方法介紹了,主要是文中三種情況平白占用了磁盤空間,磁盤空間滿了可從這些方面著手清理。
注:更多精彩教程請關(guān)注武林網(wǎng)電腦教程欄目,武林網(wǎng)電腦辦公群:(已滿!)歡迎你的加入
新聞熱點
疑難解答
圖片精選