• 命令简介
    Linux下的du命令也是查看使用空间的,但是与df命令不同的是du命令是对文件和目录磁盘使用的大小的查看。
    博主就常用这个命令配合sort命令对文件进行排序,以便查看是那些大文件占有磁盘(相信大家都会遇到过突然有一天磁盘空间就被占满了)。

  • 命令语法格式
    格式:du [选项][文件]
    选项即可以简单理解为跟的参数

  • 常用参数说明
    参数说明:
    -a或-all 为每一个指定文件显示磁盘使用情况,或者为文件夹中每一个文件显示各自磁盘使用情况。
    -b或-bytes 显示文件夹或文件大小时,以byte为单位。
    -c或–total 除了显示文件夹或文件的大小外,同一时候也显示全部文件夹或文件的总和。
    -D或–dereference-args 显示指定符号连接的源文件大小。
    -h或–human-readable 以K,M,G为单位,提高信息的可读性。
    -H或–si 与-h參数同样,可是K,M,G是以1000为换算单位,而不是以1024为换算单位。
    -k或–kilobytes 以1024 bytes为单位。
    -l或–count-links 反复计算硬件连接的文件。
    -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
    -m或–megabytes 以1MB为单位。
    -s或–summarize 仅显示总计,即当前文件夹的大小。
    -S或–separate-dirs 显示每一个文件夹的大小时,并不含其子文件夹的大小。
    -x或–one-file-xystem 以一開始处理时的文件系统为准,若遇上其它不同的文件系统文件夹则略过。
    -X<文件>或–exclude-from=<文件> 在<文件>指定文件夹或文件。
    –exclude=<文件夹或文件> 略过指定的文件夹或文件。
    –max-depth=<文件夹层数> 超过指定层数的文件夹后,予以忽略。
    –help 显示帮助。
    –version 显示版本号信息。

  • 常用方法示例
    linux下du命令的几个常用方法:
    1、直接输出当前目录统计总大小
    du -sh
    2、显示文件夹下的文件大小(默认以字节为单位输出)
    du /data1/
    3、以字节方式输出,参数-s
    du -s /data1/
    4、以兆(M)方式输出,参数-h
    du -h /data1/
    5、配合sort排序输出(默认会递归所有子目录,并同时显示指定目录总大小以及子目录大小)
    从小到大排序:
    du -h /data1/ |sort -n
    从大到小排序:
    du -h /data1/ |sort -rn
    6、配合sort、head排序前十个输出
    du -h /data1/ |sort -n| head
    7、只统计当前目录下所有文件夹(默认递归统计所有子目录)
    du -h --max-depth=1 /data1/ (--max-depth=n,这里=1就表示当前目录、指定目录)
    20180102215734.jpg

  • 小结
    这个命令呢,其实很好用的,使用管道符配合其他命令,能实现比较多的功能!博主最常用的就是排序找大文件目录!
    很早的时候就用这个命令来找到了mysql的binlog日志文件(当时占用了整个磁盘的80%左右,直接爆了)!
    ps:咳咳咳!既然提到了mysql日志呢,说一下:一般默认安装的mysql是没有关闭bin日志的,下次可以为大家带来如何关闭bin日志的方法!