磁盘信息工具 di

磁盘信息工具 di

纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注。

Linux技术交流QQ群:2632018(十月份最新!!)

导读如果你是个Linux命令行用户,你肯定会使用df命令检查文件系统的磁盘使用情况。尽管df是一个受欢迎的命令,但仍然不能提供一些高级的功能,如一个用户实际的磁盘可用空间,以及各种有用的显示格式等。还有另一个命令行实用工具可用,不仅提供了这些高级功能也提供了df的所有特性。在本文中,我们将讨论磁盘信息工具 — di。di – 磁盘信息工具

磁盘信息工具 di

从这个di帮助手册页很明显的发现 di 提供了一些很有价值的特性,值得一试。让我们看一些这个工具实际使用的例子。

测试环境

  • OS – Ubuntu 13.04

  • Shell – Bash 4.2.45

  • Application – di 4.30

  • 一个简短的教程

    下面是一些 di 工具的示例:

    1. 默认的输出

    默认情况下di命令生成人们易读的输出格式,这里有个示例:

    $ di

    Filesystem   Mount    Size  Used Avail %Used fs Type

    /dev/sda6   /     28.1G 20.2G  6.5G 77% ext4

    udev    /dev    1.5G  0.0G  1.5G 0% devtmpfs

    tmpfs    /run    300.2M  0.9M 299.3M 0% tmpfs

    所以你能发现用千兆字节(G)和兆字节(M)做磁盘使用情况的数据单位。这绝对是比 df 默认的输出产生的效果好。(译注:df也可以输出带类似单位的显示,只是需要额外加参数 -h)

    2. 用 -A 选项打印类似挂载点、特殊设备名称等全部字段

    选项 -A可以用来极详细的打印挂载点,特殊设备名称等,这里有个示例:

    $ di -A

    Mount fs Type  Filesystem

        Options                            

           Size     Used     Free %Used  %Free

           Size     Used    Avail %Used  %Free

           Size     Used    Avail %Used  

          Inodes     Iused     Ifree %Iused

    /     ext4     /dev/sda6  

       rw,errors=remount-ro                

          28.1G    20.2G     8.0G   72%    28%  

          28.1G    21.6G     6.5G   77%    23%  

          26.7G    20.2G     6.5G   75%  

         1884160    389881   1494279   21%

    /dev  devtmpfs udev      

       rw,mode=0755                        

           1.5G     0.0G     1.5G    0%   100%  

           1.5G     0.0G     1.5G    0%   100%  

           1.5G     0.0G     1.5G    0%  

          381805       571    381234    0%

    /run  tmpfs    tmpfs      

       rw,noexec,nosuid,size=10%,mode=0755

         300.2M     0.9M   299.3M    0%   100%  

         300.2M     0.9M   299.3M    0%   100%  

         300.2M     0.9M   299.3M    0%  

          384191       549    383642    0%

    所以你可以看到所有的字段,可以用于调试目的时打印输出。

    3. 用 -a选项打印所有挂载设备

    这里是个示例:

    $ di -a

    Filesystem         Mount               Size     Used    Avail %Used  fs Type        

    /dev/sda6          /                  28.1G    20.2G     6.5G   77%  ext4          

    udev               /dev                1.5G     0.0G     1.5G    0%  devtmpfs      

    devpts             /dev/pts            0.0M     0.0M     0.0M    0%  devpts        

    proc               /proc               0.0M     0.0M     0.0M    0%  proc          

    binfmt_misc        /proc/sys/fs/bi     0.0M     0.0M     0.0M    0%  binfmt_misc    

    tmpfs              /run              300.2M     0.9M   299.3M    0%  tmpfs          

    none               /run/lock           0.0M     0.0M     0.0M    0%  tmpfs          

    none               /run/shm            0.0M     0.0M     0.0M    0%  tmpfs          

    none               /run/user           0.0M     0.0M     0.0M    0%  tmpfs          

    gvfsd-fuse         /run/user/himan     0.0M     0.0M     0.0M    0%  fuse.gvfsd-fuse

    sysfs              /sys                0.0M     0.0M     0.0M    0%  sysfs          

    none               /sys/fs/cgroup      0.0M     0.0M     0.0M    0%  tmpfs          

    none               /sys/fs/fuse/co     0.0M     0.0M     0.0M    0%  fusectl        

    none               /sys/kernel/deb     0.0M     0.0M     0.0M    0%  debugfs        

    none               /sys/kernel/sec     0.0M     0.0M     0.0M    0%  securityfs

    所以你能看到与所有设备相关的所有信息,被打印出来了。

    4. 用 -c 选项用逗号作为值的分隔符

    选项 -c 用命令分隔的值将附上双引号,这里是个示例:

    $ di -c

    s,m,b,u,v,p,T

    /dev/sda6,/,28.1G,20.2G,6.5G,77%,ext4

    udev,/dev,1.5G,0.0G,1.5G,0%,devtmpfs

    tmpfs,/run,300.2M,0.9M,299.3M,0%,tmpfs

    如上,你可以看到打印了用逗号分隔符输出的值。(译注:这种输出便于作为其他程序的输入解析)

    5. 用 -g 选项通过千兆字节(G)打印大小

    下面是个示例:

    $ di -g

    Filesystem         Mount              Gibis     Used    Avail %Used  fs Type

    /dev/sda6          /                   28.1     20.2      6.5   77%  ext4    

    udev               /dev                 1.5      0.0      1.5    0%  devtmpfs

    tmpfs              /run                 0.3      0.0      0.3    0%  tmpfs

    当然,你能看到所有与大小有关的值都用千兆字节(G)打印出来,同样的你可以用 -k 和 -m 选项来分别的显示千字节(K)大小和兆字节(M)大小。

    6. 通过 -I 选项显示特定的文件系统类型的相关信息

    假设你想显示只跟tmpfs文件系统相关的信息。下面将告诉你如何用 -I 选项完成任务。

    $ di -I tmpfs

    Filesystem         Mount               Size     Used    Avail %Used  fs Type

    tmpfs              /run              300.2M     0.9M   299.3M    0%  tmpfs  

    none               /run/lock           5.0M     0.0M     5.0M    0%  tmpfs  

    none               /run/shm            1.5G     0.0G     1.5G    0%  tmpfs  

    none               /run/user         100.0M     0.0M   100.0M    0%  tmpfs  

    none               /sys/fs/cgroup      0.0M     0.0M     0.0M    0%  tmpfs

    你能看到只有tmpfs类型相关文件系统信息被输出并显示出来了。

    7. 用 -n 选项跳过标题行的输出

    如果你正试图通过一个脚本(或程序)解析该命令的输出结果并希望 di 命令跳过显示的标题行,那么用 -n 选项是绝佳的方法,下面是个示例:

    $ di -n

    /dev/sda6          /                  28.1G    20.2G     6.5G   77%  ext4    

    udev               /dev                1.5G     0.0G     1.5G    0%  devtmpfs

    tmpfs              /run              300.2M     0.9M   299.3M    0%  tmpfs

    如上,你能发现输出中并没有显示标题行。

    8. 通过 -t 选项在文件系统列表底下再打印一行总计行

    如果想要显示所有相关列的总数,用 -t 选项,示例:

    $ di -t

    Filesystem         Mount               Size     Used    Avail %Used  fs Type

    /dev/sda6          /                  28.1G    20.2G     6.5G   77%  ext4    

    udev               /dev                1.5G     0.0G     1.5G    0%  devtmpfs

    tmpfs              /run              300.2M     0.9M   299.3M    0%  tmpfs  

                      Total              29.9G    20.2G     8.3G   72%

    观察到最后一行的值为所有文件系统的统计数据。

    9. 通过 -s 选项 排序输出

    -s选项可用于排序该命令的输出结果,下面告诉你如何反向排序输出:

    $ di -sr

    Filesystem         Mount               Size     Used    Avail %Used  fs Type

    tmpfs              /run              300.2M     0.9M   299.3M    0%  tmpfs

    udev               /dev                1.5G     0.0G     1.5G    0%  devtmpfs

    /dev/sda6          /                  28.1G    20.2G     6.5G   77%  ext4

    你也可以在-s后添加子选项’r’逆序排序输出。类似的,你可以使用 -s 选项做一些其他类型的排序,以下是摘自man手册供您参考:

    -s 排序方式

    可以指定排序方式。默认排序方式的按照挂载点的名称进行排序。支持如下的排序方式:

    m :按照挂载点名称排序(默认)

    n :不排序(即按照在挂载表/etc/fstab中的顺序)

    s :按照特殊设备名称

    t :按照文件系统类型

    r :逆序排序

    排序方式可以组合使用,如: di –stsrm :按照类型、设备、挂载点逆序排序。di –strsrm :按照类型、设备逆序、挂载点逆序排序。

    10. 通过 -f 选项指定输出格式

    你可以通过结合-f选项和其子选项指定输出格式字符串,例如用 -fm,打印挂载点的名称:

    $ di -fm

    Mount          

    /              

    /dev          

    /run

    如上你可以看到只有挂载点的名字被打印出来,同样的,打印文件系统的类型用 -ft ,示例:

    $ di -ft

    fsType

    ext4  

    devtmpf

    tmpfs

    如果你想快速查找,这里有个其他可用的格式选项截图。

    结论

    最后,di命令提供了一些非常有用的特性,比df命令更强大。如果你正在寻找一个类似df,但比df更强大的关于磁盘信息的命令行工具,那么di是最理想的选择。

    原文来自:  http://blog.jobbole.com/112535/

    本文地址:  http://www.linuxprobe.com/disk-tool-di.html编辑:冯振华,审核员:逄增宝

    磁盘信息工具 di


    让您学习到的每一节课都有所收获

    《Linux就该这么学》是由资深运维专家刘遄及全国多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。

    刘遄老师QQ:5604241  微信:gnu_chuan

    学员助教QQ:5604674

    ? Linux技术交流A群(满):560843

    ? Linux技术交流B群:340829

    ? Linux技术交流C群:463590

    ? Linux技术交流D群:915246

    ? Linux技术交流E群:1663106

    ? Linux技术交流F群:1653851

    ? Linux技术交流G群:2632018(新群,火热加群中……

    ? 官方站点:www.linuxprobe.com

    ? 电脑在线阅读效果更佳:

    http://www.linuxprobe.com/chapter-00.html

    磁盘信息工具 di

    按住图片3秒,即可自动关注。

    点击左下角查看更多热门技术