1. 介绍

du是用来查看文件或目录所占用磁盘空间的大小

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

2. 示例:

2.1 -a and -s

# -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小

# -s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
[root@centos /data]#du -ah /data/
10M /data/testfile
20M /data/time.log
5.0M /data/file.txt
35M /data/
[root@centos /data]#du -sh /data/ # 查看当前目录总共占的容量。而不单独列出各子项占用的容量
35M /data/
[root@centos /data]#du -ch /data/
35M /data/
35M total
[root@centos /data]#

2.2 列出 /data 目录中不包括 log 文件的目录的大小

[root@centos /data]#tree /data/
/data/
|-- file.txt
|-- testfile
`-- time.log 0 directories, 3 files
[root@centos /data]#du -ah /data/
10M /data/testfile
20M /data/time.log
5.0M /data/file.txt
35M /data/
[root@centos /data]#du -sh /data/ --exclude="*.log"
15M /data/
[root@centos /data]#

2.3 计算所有 log 的大小和总和

[root@centos /data]#find /data/ -type f -name "*.log"|xargs du -ch
20M /data/time.log
30M /data/time1.log
26M /data/time2.log
76M total
[root@centos /data]#
[root@centos /data]#ls /data/*.log|xargs du -ch
20M /data/time.log
30M /data/time1.log
26M /data/time2.log
76M total
[root@centos /data]#

2.4 想在一个屏幕下列出更多的关于 /data 目录及子目录大小的信息:

# -0(零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。
[root@centos /data]#du -0h /data/
91M /data/[root@centos /data]#

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

[root@centos /data/logs]#du -h --max-depth=0 /data/
143M /data/
# 显示 /data/ 机器下面子目录的大小
[root@centos /data/logs]#du -h --max-depth=1 /data/ # 查看当前目录下一级子文件和子目录占用的磁盘容量。
128M /data/logs
143M /data/
[root@centos /data/logs]#

生产中常用的du命令的更多相关文章

  1. 开发过程中常用的Linux命令

    做Java开发好几年了,部署JavaWeb到服务器上,一般都选择Linux,Linux作为服务器真是不二之选,高性能,只要熟悉Linux,操作快捷,效率很高. 总结一下工作中常用的Linux命令备忘: ...

  2. 工作中常用的Linux命令:mkdir命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6076075.html (转载请注明出处) 在Linux系统中,mkdir命令用来创建一个目录或一个级联目录. ...

  3. 工作中常用的Linux命令:crontab命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...

  4. 工作中常用的Linux命令:ipcs/ipcrm命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式 ipcs [resource-option ...

  5. 工作中常用的Linux命令:find命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6056571.html (转载请注明出处) 1.命令格式 find [-H] [-L] [-P] [-D deb ...

  6. Tcl与Design Compiler (十三)——Design Compliler中常用到的命令(示例)总结

    本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 本文将描述在Design Compliler中常用 ...

  7. 安卓日常开发和逆向中常用的shell命令与非shell命令

    简述shell 命令与 非shell命令区别 shell命令不用先adb shell进入界面执行 非shell命令必须要 adb shell进入界面执行 基础非shell命令 1.安装app adb ...

  8. 工作中常用的 Linux 命令

    awk 示例: env变量值如下,需要获得pkg_url的链接值: {"name": "michael", "sex": "mal ...

  9. 工作中常用的Linux命令

    1.从其他机器拷贝文件夹 格式: scp -r 文件夹名 用户名@机器名:/路径 范例: scp -rsearch work@zjm-testing-ps23.zjm.baidu.com:/home/ ...

随机推荐

  1. onsen & UI & vue & mobile UI

    onsen & UI vue & mobile UI $ npm i onsenui vue-onsenui # OR $ npm i -S onsenui vue-onsenui h ...

  2. vuex & redux

    vuex & redux https://vuex.vuejs.org/ https://github.com/xgqfrms/VAIO/ https://scrimba.com/playli ...

  3. Dart: path库

    path库pub地址 安装: dependencies: path: 使用: import 'dart:io'; import 'package:path/path.dart' as path; ma ...

  4. spring boot用ModelAndView向Thymeleaf模板传参数

    最近在调试一个Spring Boot向Thymeleaf模板传参数的例子,但踩了很多坑,这里就把详细过程记录下来,以供大家参考. 先说下,这里遇到哪些坑呢? 1 我用的是IDEA社区版,这不支持JSP ...

  5. JDK源码阅读-Reference

    本文转载自JDK源码阅读-Reference 导语 Java最初只有普通的强引用,只有对象存在引用,则对象就不会被回收,即使内存不足,也是如此,JVM会爆出OOME,也不会去回收存在引用的对象. 如果 ...

  6. [Python学习笔记]正则表达式总结

    常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...

  7. Spring的BeanFactoryPostProcessor接口

    接口简介 BeanFactoryPostProcessor 接口是 Spring 初始化 BeanFactory 时对外暴露的扩展点,Spring IoC 容器允许 BeanFactoryPostPr ...

  8. Svelte v2 已经过时了!

    带你走马观花,细看新版变化. 注意:原文发表于2018-04-18,随着框架不断演进,部分内容可能已不适用. 大约是一年之前,我们首次在 Svelte 的 issue 跟踪器上讨论过 v2 版本,现在 ...

  9. 生产者与消费者以及ActiveMQ

    生产者与消费者以及ActiveMQ 一. 多线程实现生产者与消费者 1.1 生产者与消费者头文件 #pragma once #include <iostream> #include < ...

  10. 看完我的笔记不懂也会懂----AngulaJS

    目录 Angular.js学习笔记 ng-app(指令) ng-model ng-init angular之表达式 双向数据绑定 数据流向的总结 作用域对象 控制器对象 依赖对象与依赖注入 命令式与声 ...