相关文章:
【linux命令】df和du的区别、Filesystem文件系统
df 命令 (查看挂载卷大小和使用情况)
Linux du 命令(显示目录或文件的大小)
linux下如何查找大文件
1. Linux du 命令
Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小
。
du 会显示指定的目录或文件所占用的磁盘空间。
2. 语法:
du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]
参数说明:
-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 显示版本信息。
3. 实例
3.1 显示目录或者文件所占空间
# du
367716 ./aa
0 ./test
367728 .
只显示当前目录下面的子目录的目录大小和当前目录的总的大小
,不显示普通文件的大小,最下面的367728 为当前目录的总大小,我们看下原始目录的情况,发现是存在普通文件的:
3.2 显示指定文件所占空间
在3.1的环境下,想查看具体的文件的话,需要指定文件即可:
[root@EMS3 test]# du err.log
4 err.log
3.3 方便阅读的格式显示test目录所占空间情况
-h选项,human简写,通过它可以产生可读的格式df命令的输出,具体来说,会转换单位,以最合适的单位显示:
[root@EMS3 test]# du -h err.log
4.0K err.log
与3.2相比,多了单位K
如果是很大的文件,比如mysql的安装包,会自动以M的形式显示:
[root@EMS3 aa]# du -h mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
360M mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
3.3.1 列出超过1G文件
由于-h 可以自适应文件的单位,例如 1.2G,1.3M,这样可以根据字符进行过滤
例如,列出当前目录下文件超过1G的:
du -sh * |grep G