查看磁盘与目录的容量:ls df du

谁占用了我的空间

有的时候磁盘告急,需要马上清理出一块空间,但是怎么知道,是哪些文件占用了我的空间呢?

ls -sSh

ls -sSh 可以将当前目录下的文件按照大小排序显示出来,最大的放在前面,当前目录下的最大文件立马现形。

参数中的 S 即是按照大小排序,s 为顺带打印出文件大小,h 把大小显示为 xx K xx M 这样的易读格式,如果你只需要排序结果,那么 ls -S 就可以

仅适合文件夹下没有子文件夹的情况

du -s ./* | sort -rn

ls 只会列出文件,并不能计算目录大小,这时候就要靠 du 了。

du 的 -s 参数会告诉 du 只打印出每个文件或目录的总大小,而不要递归的把目录下所有文件的大小打印出来。然后再传给 sort,-n 为按照数字排序,-r 为逆序显示,这样最大的文件或者目录就列在前面了

命令介绍:

df
查看整个磁盘容量的使用状况
-a 列出所有的文件系统,包括系统特有的/proc等文件系统
-k 以KB为单位显示
-m 以MB为单位显示
-h 以KB, MB, GB等格式列出,意思是human readable

比较特别是,若df后跟某个特定的文件夹时,会自动分析该目录或文件所在的分区,并将该分区的容量显示出来,不信试试:

df /boot

du
 查看文件夹下容量的使用状况
-k 以KB为单位显示
-m 以MB为单位显示
-h 以KB, MB, GB等格式列出,意思是human readable
-s 列出子目录的总容量,而不递归显示

参考:

http://www.linuxgem.org/posts/5484.html