Linux查看哪個文件夾或文件占用最多硬盤空間


我的服務器沒裝新東西,為什么硬盤越用越少了?這多半是因為系統上的各種日志長期積累下來的結果,比如 nginx, apache 等留下來的訪問日志信息長時間不清理、而且訪問量大的話會很容易就膨脹到 GB;有時候某種應用程序的日志藏在文件系統的深處,不易發覺;有時候自己拷貝了一些大文件放在某個地方時間長了就忘了。那么如何在 Linux 系統上找到這些占用硬盤空間的文件呢?

首先我們可以統計一下根目錄下各個目錄占用硬盤的情況,找出最占用硬盤的那個目錄:

# du -sh /*
6.2M	/bin
17M	/boot
136K	/dev
97M	/etc
147G	/home
584M	/lib
16M	/lib64
16K	/lost+found
8.0K	/media
12K	/mnt
252K	/opt
0	/proc
1.7G	/root
28M	/sbin
8.0K	/selinux
3.1M	/srv
0	/sys
20K	/tmp
1.9G	/usr
748M	/var

從上面可看出 /home 占用了最多的硬盤,我們去看看 /home 下哪些用戶占用了最多的空間:

# du -sh /home/*
4.0K	/home/bak
106M	/home/cos
28K	/home/guest
16K	/home/lost+found
105G	/home/vpsee
33G	/home/somebody
8.2G	/home/abc

可以看到 vpsee 這個用戶和他的 home 目錄 /home/vpsee 用掉了最多的硬盤(105GB),我們再看看 /home/vpsee 下究竟哪些文件占用了空間,用下面的一行命令找出某個目錄下(這里是 /home/vpsee)大小超過 500MB 的文件(打印前40行並按照 MB 從小到大排列):

# find /home/vpsee -printf "%k %p\n" | sort -g -k 1,1 | \
awk '{if($1 > 500000) print $1/1024 "MB" " " $2 }' |tail -n 40

647.68MB  /home/vpsee/linux/debian-504-amd64-CD-1.iso
675.664MB /home/vpsee/linux/Fedora-13-i686-Live.iso
677.656MB /home/vpsee/unix/osol-0906-x86.iso
678.172MB /home/vpsee/linux/ubuntu-10.04-server-amd64.iso
700.133MB /home/vpsee/linux/ubuntu-10.04-desktop-i386.iso
1304.64MB /home/vpsee/mac/MacTeX.mpkg.zip

可以看到 /home/vpsee 是個 iso 收藏狂,收了一堆 Linxu ISO 安裝文件,以前撥號上網時代大家都喜歡收集一些軟件和工具存在硬盤里,現在網絡這么發達,這些舊習慣已經沒必要了,ISO 文件可有可無,需要的時候就去下一個最新的,用不着自己保留,網絡就是我們的硬盤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM