• 日常工作问题解决:du命令详解


    du命令详解

    原文链接:https://blog.csdn.net/linuxnews/article/details/51207738

    1、导读

    du命令是检查硬盘使用情况,统计文件或目录及子目录使用硬盘的空间大小。参数的不同组合,可以更快的提高工作效率,以下仅列出了经常使用到的参数,如需更详细的信息,请用man du命令来获得。

    1.1 命令格式

    du [选项][文件]

    1.2 命令功能

    显示每个文件和目录的磁盘使用空间。

    1.3 命令参数

    参数 说明
    -a 显示所有目录或文件的大小
    -b 以byte为单位,显示目录或文件的大小
    -c 显示目录或文件的总和
    -k 以KB为单位输出
    -m 以MB为单位输出
    -s 仅显示目录或文件的总计数值
    -h 以K,M,G为单位,提高信息可读性
    -x 跳过不同的文件系统目录
    -S 显示目录的大小,但不含子目录大小
    -D 显示指定符号链接的源文件大小

    2、实例

    2.1 实例1:显示目录或者文件所占空间

    
    [root@GS-NMS-IP-COL1 ~]# du
    4	./.config/gnome-session/saved-session
    8	./.config/gnome-session
    4	./.config/gnome-disk-utility/ata-smart-ignore
    8	./.config/gnome-disk-utility
    4	./.config/ibus/bus
    8	./.config/ibus
    .......
    .......
    4	./.gnome2/nautilus-scripts
    44	./.gnome2
    4	./Music
    4	./Videos
    20	./.cache
    16	./.gnupg
    8	./.abrt
    4	./.kde/share/config
    8	./.kde/share
    12	./.kde
    122048	.
    
    

    说明:只显示当前home目录及子目录的大小,最下面的122048为当前目录总计数

    2.2 实例2:显示指定文件所占空间

    
    [root@GS-NMS-IP-COL1 saved-session]# du /etc/inittab
    4	/etc/inittab
    
    
    

    2.3 实例3:查看指定目录所占空间

    
    [root@db1 saved-session]# du /etc/cups
    4	/etc/cups/ssl
    4	/etc/cups/interfaces
    4	/etc/cups/ppd
    32	/etc/cups``bash
    
    

    2.4 实例4:显示文件和目录

    
    [root@GS-NMS-IP-COL1 saved-session]# du -ah /tmp
    4.0K	/tmp/caucho
    8.0K	/tmp/vmware-root/vmware-apploader-20619.log
    8.0K	/tmp/vmware-root/vmware-apploader-23646.log
    8.0K	/tmp/vmware-root/vmware-apploader-21681.log
    8.0K	/tmp/vmware-root/vmware-apploader-18072.log
    8.0K	/tmp/vmware-root/vmware-apploader-17068.log
    8.0K	/tmp/vmware-root/vmware-apploader-18888.log
    8.0K	/tmp/vmware-root/vmware-apploader-16062.log
    8.0K	/tmp/vmware-root/vmware-apploader-22334.log
    8.0K	/tmp/vmware-root/vmware-apploader-14378.log
    ....
    
    

    2.5 实例5:显示两个目录所占磁盘空间大小

    
    [root@GS-NMS-IP-COL1 saved-session]# du /etc/yum /etc/yum.repos.d
    4	/etc/yum/vars
    4	/etc/yum/protected.d
    16	/etc/yum/pluginconf.d
    32	/etc/yum
    12	/etc/yum.repos.d
    
    

    2.6 实例6:var目录中的某个文件太大,就可以使用如下命令查看

    
    [root@GS-NMS-IP-COL1 saved-session]# du -s /tmp/*|sort -nr
    252	/tmp/vmware-root
    196	/tmp/hsperfdata_slview
    68	/tmp/hsperfdata_root
    16	/tmp/lost+found
    4	/tmp/pulse-xA8fXLLVAVFy
    4	/tmp/pulse-BZ3Ruffbpuey
    4	/tmp/orbit-gdm
    4	/tmp/caucho
    4	/tmp/_cafenv-appconfig_
    
    
    

    说明:sort -nr

    从大到小排列倒叙排列,将占用磁盘空间最大的文件最先显示出来,即可及时处理。运维当中,非常重要的命令,需牢记

    3、du常用举例

    3.1 想看当前目录下所有目录以及子目录的大小:

    du -h .

    “.”代表当前目录下。也可以换成一个明确的路径

    -h表示用K、M、G的人性化形式显示

    3.2 只想看当前目录下abc目录的大小,并不想看其他目录以及其子目录:

    du -ch abc | tail -n 1

    此种方法需要管道技术来管道du和tail两个命令来实现。

    -c 表示会列出文件空间大小的总和,用于计算几个文件的大小之和

    du -sh abc

    -s表示总结的意思,即只列出一个目录中所有文件的空间大小的总值

    du -h -max-depth=0 abc

    -max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。

    3.3 列出abc目录及其子目录下所有目录和文件的大小

    du -ah abc

    -a表示路径下的所有包括目录和文件

    3.4 列出所有abc目录中的目录名不包括xyz字符串的目录的大小

    du -h –exclude=’*xyz*’

    3.5 想在一个屏幕下列出更多的关于abc目录及子目录大小的信息

    du -0h abc

    -0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。

    备注: du usage:

    用法:du [选项]... [文件]...

    或:du [选项]... --files0-from=F

    总结每个<文件>的磁盘用量,目录则取总用量。

    长选项必须用的参数在使用短选项时也是必需的。

    短选项 长选项 说明
    -a, --all 输出所有文件的磁盘用量,不仅仅是目录
    --apparent-size 显示表面用量,而并非是磁盘用量;虽然表面用量通常会
    小一些,但有时它会因为稀疏文件间的"洞"、内部碎
    片、非直接引用的块等原因而变大。
    -B, --block-size=大小 使用指定字节数的块
    -b, --bytes 等于--apparent-size --block-size=1
    -c, --total 显示总计信息
    -D, --dereference-args 解除命令行中列出的符号连接
    --files0-from=F 计算文件F 中以NULL结尾的文件名对应占用的磁盘空间,如果F 的值是"-",则从标准输入读入文件名
    -H 等于--dereference-args (-D)
    -h, --human-readable 以可读性较好的方式显示尺寸(例如:1K 234M 2G)
    --si 类似-h,但在计算时使用1000 为基底而非1024
    -k 等于--block-size=1K
    -l, --count-links 如果是硬连接,就多次计算其尺寸
    -m 等于--block-size=1M
    -L, --dereference 找出任何符号链接指示的真正目的地
    -P, --no-dereference 不跟随任何符号链接(默认)
    -0, --null 将每个空行视作0 字节而非换行符
    -S, --separate-dirs 不包括子目录的占用量
    -s, --summarize 只分别计算命令列中每个参数所占的总用量
    -x, --one-file-system 跳过处于不同文件系统之上的目录
    -X, --exclude-from=文件 排除与指定文件中描述的模式相符的文件
    --exclude=PATTERN 排除与PATTERN 中描述的模式相符的文件
    --max-depth=N 显示目录总计(与--all 一起使用计算文件)
    当N 为指定数值时计算深度为N;
    --max-depth=0 --summarize
    --time 显示目录或该目录子目录下所有文件的最后修改时间
    --time=WORD 显示WORD 时间,而非修改时间:WORD类型为atime,access,use,ctime 或status
    --time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):类型为:full-iso,long-iso,iso,+FORMAT
    --help 显示此帮助信息并退出
    --version 输出版本信息并退出

    说明:

    du所显示的数值是来自 --block-size、DU_BLOCK_SIZE、BLOCK_SIZE
    及 BLOCKSIZE 环境变量中第一个可用的 SIZE 单位。
    否则,默认单位是 1024 字节(或是 512,若设定 POSIXLY_CORRECT 的话)。

    SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
    KB 1000,K 1024,MB 10001000,M 10241024,还有 G、T、P、E、Z、Y。

  • 相关阅读:
    线性回归——梯度下降
    Python 实现 KNN(K-近邻)算法
    Python 增加博客园阅读量
    阿里云CentOS安装配置Python3.7及pip3
    OnlineJudge难度与正确度的相关性检验
    jsp、jQuery、servlet交互实现登录功能
    Java Web中提交表单之后跳转到WebContent目录下的子目录里的jsp文件
    python3爬虫——下载unsplash美图到本地
    defer原理、性能、优化
    Python生成器和迭代器
  • 原文地址:https://www.cnblogs.com/yj411511/p/11975620.html
Copyright © 2020-2023  润新知