十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
du是统计目录或文件所占磁盘空间大小的命令。
成都做网站、成都网站设计,成都做网站公司-创新互联已向千余家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
我们在统计目录时,不是想看父目录下的子目录名和子文件名到底占用了多少空间,而是想看父目录下的子目录和子文件的总磁盘占用量大小,这时就需要使用 du
命令才能统计目录的真正磁盘占用量大小。
du命令的格式如下:
du [选项] [目录或文件名]
选项:
-a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h:使用习惯单位显示磁盘占用量,如KB、MB或GB等;
-s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量
通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。
查询当前目录总大小可以使用du -sh,其中s代表统计汇总的意思,即只输出一个总和大小。
通过命令du -h –max-depth=0 *,可以只显示直接子目录文件及文件夹大小统计值。
如果只想查看指定目录的总大小,可以使用du -sh 目录名称。
对于指定文件夹也可以指定显示层次深度,如du -h --max-depth=0 software/及du -h --max-depth=1
software/
使用du命令和df命令去统计分区的使用情况时,得到的数据是不一样的。那是因为df命令是从文件系统的角度考虑的,通过文件系统中未分配的空间来确定文件系统中已经分配的空间大小。也就是说,在使用df命令统计分区时,不仅要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)。
而du命令是面向文件的,只会计算文件或目录占用的磁盘空间。也就是说,df命令统计的分区更准确,是真正的空闲空间。
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为换算单位,而不是以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 显示版本信息。
1 要显示一个目录树及其每个子树的磁盘使用情况
du /home/linux
这在/home/linux目录及其每个子目录中显示了磁盘块数。
2 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况
du -k /home/linux
这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。
3 以MB为单位显示一个目录树及其每个子树的磁盘使用情况
du -m /home/linux
这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。
4 以GB为单位显示一个目录树及其每个子树的磁盘使用情况
du -g /home/linux
这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。
5查看当前目录下所有目录以及子目录的大小:
du -h .
“.”代表当前目录下。也可以换成一个明确的路径
-h表示用K、M、G的人性化形式显示
6查看当前目录下user目录的大小,并不想看其他目录以及其子目录:
du -sh user
-s表示总结的意思,即只列出一个总结的值
du -h --max-depth=0 user
--max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。
7列出user目录及其子目录下所有目录和文件的大小:
du -ah user
-a表示包括目录和文件
8列出当前目录中的目录名不包括xyz字符串的目录的大小:
du -h --exclude='*xyz*'
9想在一个屏幕下列出更多的关于user目录及子目录大小的信息:
du -0h user
-0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。
10只显示一个目录树的全部磁盘使用情况
du -s /home/linux
11查看各文件夹大小:du -h --max-depth=1
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。
通过命令du-h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。查询当前目录总大小可以使用du -sh,其中s代表统计汇总的意思,即只输出一个总和大小。
Linux
全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。
1、首先我们要知道怎么查看目录下文件,ls 这个命令就可以;但是在虚拟机中无法直接通过 ls 这个命令直接看出 文件 是 目录还是 问价(linux 的文件 系统划分 需要掌握)。
2、我们就需要 ls 的拓展命令 ls-l (可以直接用 ll 这样的简化命令,更多的可以自己查相关资料,命令的相关资料太多了...);这里我们就可直接看出 文件 的类型; 标出的信息开头 ‘-’就是 文件命令中用 f 表示; ‘d’就是目录,命令中就用‘d’表示。
3、然后我们开始进行如何统计;find 这个命令可以查找文件;通过 find /tmp/ -name 文件名,找出来。
4、然后我们通过扩展 命令 :find -type f(找出 文件类型是 f 的文件)我们可以看出 这个命令效果。
5、然后我们 通过 wc -l 这个命名进行统计;但两个命令需要一起使用, 这个时候通过管道符 “ | ”链接;命令就是:find -type f |wc -l;我们就可以实现 统计文件个数。
6、同理如果想要统计 目录 ,使用如图命令:find -type d|wc -l;默认会统计 隐藏的 文件或者 目录;所以显示的是 3。
7、隐藏文件或者目录是 ‘.’开头的,所以我们排除它,就可以只统计出显示的文件。