玩转linux命令du党

Posted 搜狗测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转linux命令du党相关的知识,希望对你有一定的参考价值。

各位好,对于服务端测试来说,linux是我们每天都会用到的,而linux的操作又是基于命令的,有些命令我们天天都在用,但是偶尔”–help”一下,都会发现一大堆没用过的参数,从这周起,每周四,我们会为大家解剖一个linux命令和它的“Partner command”,今天从du开始:

du

用来查看linux下文件或目录占用的磁盘空间

参数说明

du * 默认显示目录内所有文件夹和./内文件的大小,以K为单位。

--或--null 将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 显示版本信息。

常用参数及场景

1、查看文件大小

2、以K/M/G等可读单位查看文件大小(进制1024)

【玩转linux命令】du党

3、查看目录内文件大小:

【玩转linux命令】du党

4、列出目录下所有节点,一个文件或一个目录算一个节点(例如一个文件夹下有两个文件,就是三个节点)

【玩转linux命令】du党

5、不深入到子目录查看大小:
du -h --max-depth=0 *

6、列出当前目录中不包括in字符串的文件或文件夹的大小:
du -h --exclude='*in*' *

【玩转linux命令】du党

7、按照从大到小排序,列出当前目录的文件:
du -sh * |sort -nr
sort命令的n是以数值排序,默认是从小到大的顺序,-r是倒序的意思

【玩转linux命令】du党
这里用的是centos7.2系统,这里发现按照h模式列出,但是sort函数会忽略单位,所以这里会把8K排列到4M前面,可以用byte或者-H来列出文件大小,以解决这个问题

8、按照文件占用的存储块从大到小列出当前目录的文件,包括总和:
du -c * |sort -rn


对比一下 –bytes的结果,感觉有些奇怪


为什么实际大小是66字节的文件和实际大小是1954的文件占用的存储块是一样的呢?这个与设置文件系统时规定的最小存储块有关,也就是说即使1字节的文件,也需要占用4块的空间,这是为了减少文件碎片、增加磁盘io效率;

以上是经常用到的命令组合,欢迎大家留言share更多的du党命令,我们分享的命令也会由简入深,希望感兴趣的同学可以跟我们一起玩转linux命令。


以上是关于玩转linux命令du党的主要内容,如果未能解决你的问题,请参考以下文章

谁能给我一个Linux系统中du命令的详细分析?(包括源代码的分析)

linux下如何查看文件夹大小?硬盘使用情况?内存使用情况?

Linux du 命令详解

Linux里面du命令作用是啥?

Linux命令:du命令

linux命令详解之du命令