du命令详解

 

基础命令学习目录首页

 

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

导读
du命令是检查硬盘使用情况,统计文件或目录及子目录使用硬盘的空间大小。参数的不同组合,可以更快的提高工作效率,以下仅列出了经常使用到的参数,如需更详细的信息,请用man du命令来获得。
1.命令格式
du [选项][文件]
2.命令功能
显示每个文件和目录的磁盘使用空间。
3.命令参数
 
说明
-a
显示所有目录或文件的大小
-b
以byte为单位,显示目录或文件的大小
-c
显示目录或文件的总和
-k
以KB为单位输出
-m
以MB为单位输出
-s
仅显示目录或文件的总计数值
-h
以K,M,G为单位,提高信息可读性
-x
跳过不同的文件系统目录
-S
显示目录的大小,但不含子目录大小。
-D
显示指定符号链接的源文件大小
 
实例
实例1:显示目录或者文件所占空间
[root@tonyx home]# du
4       ./tonyxu/.mozilla/plugins
4       ./tonyxu/.mozilla/extensions
12      ./tonyxu/.mozilla
4       ./tonyxu/.gnome2
40      ./tonyxu
44      .
说明:
只显示当前home目录及子目录的大小,最下面的44为当前目录总计数
实例2:显示指定文件所占空间
[root@tonyx etc]# du inittab
4       inittab
实例3:查看指定目录所占空间
[root@tonyx home]# du tonyxu
4       tonyxu/.mozilla/plugins
4       tonyxu/.mozilla/extensions
12      tonyxu/.mozilla
4       tonyxu/.gnome2
40      tonyxu
实例4:显示文件和目录
[root@tonyx home]# du -ah tonyxu
4.0K    tonyxu/.mozilla/plugins
4.0K    tonyxu/.mozilla/extensions
12K     tonyxu/.mozilla
4.0K    tonyxu/.bash_history
4.0K    tonyxu/.gnome2
4.0K    tonyxu/.viminfo
4.0K    tonyxu/.bash_profile
4.0K    tonyxu/.bash_logout
4.0K    tonyxu/.bashrc
40K     tonyxu
实例5:显示两个目录所占磁盘空间大小
[root@tonyx tmp]# du yum yum.bake
4       yum
8       yum.bake
实例6:var目录中的某个文件太大,就可以使用如下命令查看
[root@tonyx tonyxu]# du -s /var/*|sort -nr
468216  /var/cache
61260   /var/lib
1852    /var/log
1172    /var/www
160     /var/spool
148     /var/run
16      /var/tmp
16      /var/lock
8       /var/empty
8       /var/db
4       /var/yp
4       /var/preserve
4       /var/opt
4       /var/nis
4       /var/local
4       /var/gdm
4       /var/games
4       /var/crash
4       /var/account
0       /var/mail
说明:
Sort -nr 从大到小排列倒叙排列,将占用磁盘空间最大的文件最先显示出来,即可及时处理。运维当中,非常重要的命令,需牢记
---------------------
作者:Linux运维
来源:CSDN
原文:https://blog.csdn.net/linuxnews/article/details/51207738
版权声明:本文为博主原创文章,转载请附上博文链接!

 

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

 

# du -h .

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

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

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. 列出abc目录及其子目录下所有目录和文件的大小

# du -ah abc

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

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

# du -h –exclude=’*xyz*’

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 中以NUL 结尾的文件名对应占用的磁盘空间
            如果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 时间,而非修改时间:
            atime,access,use,ctime 或status
      --time-style=样式    按照指定样式显示时间(样式解释规则同"date"命令):
            full-iso,long-iso,iso,+FORMAT
      --help     显示此帮助信息并退出
      --version  输出版本信息并退出

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

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

 

posted @ 2019-02-03 20:31  马昌伟  阅读(...)  评论(...编辑  收藏