• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    一天一个shell命令 linux好管家-磁盘-du命令详解

    du命令

    磁盘管理

    du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

    语法

    du [选项][文件]

    选项

    -a或-all 显示目录中个别文件的大小。
    -b或-bytes 显示目录或文件大小时,以byte为单位。
    -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
    -k或--kilobytes 以KB(1024bytes)为单位输出。
    -m或--megabytes 以MB为单位输出。
    -s或--summarize 仅显示总计,只列出最后加总的值。
    -h或--human-readable 以K,M,G为单位,提高信息的可读性。
    -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
    -L符号链接>或--dereference符号链接> 显示选项中所指定符号链接的源文件大小。
    -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
    -X文件>或--exclude-from=文件> 在文件>指定目录或文件。
    --exclude=目录或文件> 略过指定的目录或文件。
    -D或--dereference-args 显示指定符号链接的源文件大小。
    -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
    -l或--count-links 重复计算硬件链接的文件。

    实例

    1、显示目录或者文件所占空间:

    [root@localhost test]# du
    608 ./test6
    308 ./test4
    4 ./scf/lib
    4 ./scf/service/deploy/product
    4 ./scf/service/deploy/info
    12 ./scf/service/deploy
    16 ./scf/service
    4 ./scf/doc
    4 ./scf/bin
    32 ./scf
    8 ./test3
    1288 .

    2、只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小

    显示指定文件所占空间:

    复制代码 代码如下:

    [root@localhost test]# du log2012.log
    300 log2012.log

    3、查看指定目录的所占空间:

    [root@localhost test]# du scf
    4 scf/lib
    4 scf/service/deploy/product
    4 scf/service/deploy/info
    12 scf/service/deploy
    16 scf/service
    4 scf/doc
    4 scf/bin
    32 scf

    4、显示多个文件所占空间:

    [root@localhost test]# du log30.tar.gz log31.tar.gz
    4 log30.tar.gz
    4 log31.tar.gz
    
    只显示总和的大小:
    [root@localhost test]# du -s
    1288 .
    
    [root@localhost test]# du -s scf
    32 scf
    
    [root@localhost test]# cd ..
    [root@localhost soft]# du -s test
    1288 test

    下面是书生的一些补充资料:

    说明

    du 是disk usage的缩写,主要用于总结每个文件的磁盘大小,以及统计多个文件

    相关命令

    df

    简单实例

    我建立两个文件

    复制代码 代码如下:

    $du --help>du.txt
    $man du > mandu.txt

    1. 查看文件大小

    $du du.txt mandu.txt

    如图:

    解释:同时打印du.txt 和 mandu.txt的大小(默认单位是字节bytes)

    2. 查看一个目录下文件大小,
    $du –a tmp/

    如图:

    解释: 图中 tmp/ 就是目录 大小为84比特

    3. 统计几个文件的大小
    $du –c du.txt mandu.txt

    du的help

    用法:du [选项]... [文件]...
      或:du [选项]... --files0-from=F
    总结每个文件>的磁盘用量,目录则取总用量。

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

        说明
    -a,  --all 打印所有文件,包括目录
      --apparent-size  打印可见内容的大小,比du命令准确。虽然通常apparent size更小一些,但由于硬盘碎片等原因,可能会比du更大
    -B,  --block-size=SIZE  用户自己定义单位(b,k,m)
    -b, --bytes  单位为1byte 等同于 `--apparent-size --block-size=1'
    -c, --total  统计大小
    -D, --dereference-args dereference FILEs that are symbolic links 用于软连接文件
      --files0-from=F 统计文件大小,被统计文件文件要以NUL结尾,并且在文件F中被指定名称
    -H   单位1000而不是1024;等同于  --dereference-args (-D)
    -h, --human-readable  按照易读性方式打印(e.g., 1K 234M 2G)
      --si like -h, but use powers of 1000 not 1024
    -k    like --block-size=1K
    -l, --count-links 如果是硬链接就统计多次
    -m   like --block-size=1M
    -L, --dereference 查看所有软连接
    -P, --no-dereference 不查看软连接文件(默认)
    -0,(这里是“零”) --null 每个输出行用0字节代替新起一行(同时输出多个文件时候,就是一行)
    -S, --separate-dirs 不包括子目录大小
    -s, --summarize  只显示总大小(-c 在这里还会有一些其他统计信息)
    -x, --one-file-system  跳过其他文件系统的分支
    -X FILE, --exclude-from=FILE 排除符合正则表达式FILE的文件.
      --exclude=PATTERN  Exclude files that match PATTERN.
      --max-depth=N 打印目录下所有文件 (or 文件, 用命令 --all),只有 目录深度少于等于 参数命令N; --max-depth=0 等同于 --summarize 即全部
      --time  显示所有文件的最后修改时间,包括子目录的
      --time=WORD 
    用以下单词(WROD)代替显示最后修改时间的输出:atime, access, use, ctime or status
     
      --time-style=STYLE 
    show times using style STYLE:
                               full-iso, long-iso, iso, +FORMAT
                               FORMAT is interpreted like `date'
     
      --help 显示此帮助信息并退出
      --version 输出版本信息并退出
      [大小]可以是以下的单位(单位前可加上整数):
    kB 1000,K 1024,MB 1000000,M 1048576,还有 G、T、P、E、Z、Y
     

    讲解help

    有关-0(这里是零)

    看看区别:
    $du –a ./

    如图:

    $du –a0 ./

    加上-0,效果如图:

    实例:

    1.$du -b du.txt

    文件太小,你可以用-m, -k,甚至自己定义大小

    效果如图:

    2.$du –ak dir | sort –nrk 1 | head

    -a 列出所有 -k是用1kb单位, sort排序,head打印前10个,dir是目录

    如图:

    收尾

    这里简单说明一下,如果直接复制文中的命令,注意符号“-” 实际上被变了,需要修改一下。

    本文出自 “书生” 博客

    您可能感兴趣的文章:
    • powershell远程管理服务器磁盘空间的实现代码
    • 一天一个shell命令 linux好管家--磁盘--df命令详解
    • Powershell中获取所有磁盘盘符的方法
    • 使用shell脚本采集系统cpu、内存、磁盘、网络等信息
    • 获取磁盘IO与系统负载Load的shell脚本
    • 监视磁盘使用情况的Shell脚本(本地+远程)
    • shell脚本实现磁盘监控系统
    上一篇:一天一个shell命令 linux好管家--磁盘--df命令详解
    下一篇:git 使用及常用命令
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    一天一个shell命令 linux好管家-磁盘-du命令详解 一天,一个,shell,命令,linux,