查找某目录下占用空间前几的文件并计算占用空间大小总和
1、du命令
-a或-all 显示目录中个别文件的大小 -b或-bytes 显示目录或文件大小时,以byte为单位 -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和 -D或--dereference-args 显示指定符号连接的源文件大小 -h或--human-readable 以K,M,G为单位,提高信息的可读性 -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位 -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 显示版本信息
2、sort命令
-n 依照数值的大小排序
-r 以相反的顺序来排序
3、head命令
-q 隐藏文件名 -v 显示文件名 -c<数目> 显示的字节数 -n<行数> 显示的行数
4、查找某目录下占用空间前三的文件
该目录下有以下文件,本次统计以.gz结尾的文件
命令:du -am -h | grep gz | sort -nr | head -n 3
5、计算总量
命令:du -am -h | grep gz | sort -nr | head -n 3 | awk '{sum += $1} END {print sum}'