Linux下的du命令可以查看某个目录或者文件所占空间大小。
基础知识:
命令参数:
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L或--dereference 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X或--exclude-from= 在指定目录或文件。
--exclude= 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。
经常用的有以下几种:
1、显示目录或者文件所占空间
以KB为单位,很不直观。
2、查看指定文件所占空间
[root@localhost logs]#du socket.log
5636socket.log
[root@localhost logs]#
如图,看到这个日志文件大小为5636KB。
3、查看指定目录的所占空间
[root@localhost socket]# du logs
1131740logs
[root@localhost socket]#
如图,看到制定logs目录占用空间大小为1131740KB。
4、同时看多个文件所占空间
只需要把要看的文件名以空格隔开输在后面即可。
[root@localhost logs]#du socket.log.2015-01-31 socket.log.2015-01-19
7232socket.log.2015-01-31
5940socket.log.2015-01-19
[root@localhost logs]#
如图,可以看到两个日志所占空间大小。
5、查看当前目录中的文件所占空间大小的总和
[root@localhost logs]# du -s
1131756.
[root@localhost socket]# du -s conf
16conf
6、以方便阅读的形式显示
[root@localhost logs]# du -h
1.1G.
可以看到logs目录总共占用1.1G。
7、文件和目录所占空间大小都显示
8、查看多个文件或目录各自占用磁盘空间的大小,并统计它们的总和
[root@localhost socket]# du -c socket.jar startup.bat
144socket.jar
4startup.bat
148total
[root@localhost socket]#
不直观,换:
[root@localhost socket]# du -ch
9.7M./socket_lib
16K./conf
1.1G./logs
1.1G.
1.1Gtotal
9、按照所占空间大小排序
[root@localhost socket]# du -sh logs/* |sort -rn
40Mlogs/socket.log.2014-11-24
9.6Mlogs/socket.log.2015-03-14
9.1Mlogs/socket.log.2015-03-15
8.7Mlogs/socket.log.2015-02-06
8.5Mlogs/socket.log.2015-03-06
7.3Mlogs/socket.log.2015-02-09
7.3Mlogs/socket.log.2015-02-08
7.1Mlogs/socket.log.2015-01-31
6.7Mlogs/socket.log.2014-11-25
6.6Mlogs/socket.log.2015-03-08
6.5Mlogs/socket.log.2015-04-08
6.4Mlogs/socket.log.2015-01-04
6.3Mlogs/socket.log.2015-02-16
6.2Mlogs/socket.log.2015-02-26
5.8Mlogs/socket.log.2014-12-04
5.7Mlogs/socket.log.2015-04-30
5.3Mlogs/socket.log.2015-03-20
2.4Mlogs/socket.log.2015-02-20
1.8Mlogs/socket.log.2014-11-19
1.5Mlogs/socket.log.2014-11-17
[root@localhost socket]#
或者
[root@localhost socket]# du|sort -nr
1141916.
1131856./logs
9892./socket_sys
16./conf
10、查看当前目录下各个子目录使用空间大小
[root@localhost socket]# du -h --max-depth=1
9.7M./socket_sys
16K./conf
1.1G./logs
1.1G.