比df命令更有用的磁盘信息工具

  1. http://embeddedlinux.org.cn/emb-linux/entry-level/201310/30-2666.html
  2.  
  3. 除了df fdisk 还有这个命令。

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


注释 - 如果你想了解 df 更多信息, 查看 df命令教程.

di - 磁盘信息工具

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

测试环境

  • OS – Ubuntu 13.04
  • Shell – Bash 4.2.45
  • Application – di 4.30

一个简短的教程

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

1. 默认的输出

默认情况下di命令生成人们易读的输出格式

这里有个示例:

  1. $ di
  2. Filesystem Mount Size Used Avail %Used fs Type
  3. /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4
  4. udev /dev 1.5G 0.0G 1.5G 0% devtmpfs
  5. tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs

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

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

选项 -A可以用来极详细的打印挂载点,特殊设备名称等。

这里有个示例:

  1. $ di -A
  2. Mount fs Type Filesystem
  3. Options
  4. Size Used Free %Used %Free
  5. Size Used Avail %Used %Free
  6. Size Used Avail %Used
  7. Inodes Iused Ifree %Iused
  8. / ext4 /dev/sda6
  9. rw,errors=remount-ro
  10. 28.1G 20.2G 8.0G 72% 28%
  11. 28.1G 21.6G 6.5G 77% 23%
  12. 26.7G 20.2G 6.5G 75%
  13. 1884160 389881 1494279 21%
  14. /dev devtmpfs udev
  15. rw,mode=0755
  16. 1.5G 0.0G 1.5G 0% 100%
  17. 1.5G 0.0G 1.5G 0% 100%
  18. 1.5G 0.0G 1.5G 0%
  19. 381805 571 381234 0%
  20. /run tmpfs tmpfs
  21. rw,noexec,nosuid,size=10%,mode=0755
  22. 300.2M 0.9M 299.3M 0% 100%
  23. 300.2M 0.9M 299.3M 0% 100%
  24. 300.2M 0.9M 299.3M 0%
  25. 384191 549 383642 0%

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

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

这里是个示例:

  1. $ di -a
  2. Filesystem Mount Size Used Avail %Used fs Type
  3. /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4
  4. udev /dev 1.5G 0.0G 1.5G 0% devtmpfs
  5. devpts /dev/pts 0.0M 0.0M 0.0M 0% devpts
  6. proc /proc 0.0M 0.0M 0.0M 0% proc
  7. binfmt_misc /proc/sys/fs/bi 0.0M 0.0M 0.0M 0% binfmt_misc
  8. tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs
  9. none /run/lock 0.0M 0.0M 0.0M 0% tmpfs
  10. none /run/shm 0.0M 0.0M 0.0M 0% tmpfs
  11. none /run/user 0.0M 0.0M 0.0M 0% tmpfs
  12. gvfsd-fuse /run/user/himan 0.0M 0.0M 0.0M 0% fuse.gvfsd-fuse
  13. sysfs /sys 0.0M 0.0M 0.0M 0% sysfs
  14. none /sys/fs/cgroup 0.0M 0.0M 0.0M 0% tmpfs
  15. none /sys/fs/fuse/co 0.0M 0.0M 0.0M 0% fusectl
  16. none /sys/kernel/deb 0.0M 0.0M 0.0M 0% debugfs
  17. none /sys/kernel/sec 0.0M 0.0M 0.0M 0% securityfs

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

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

选项 -c 用命令分隔的值将附上双引号

这里是个示例:

  1. $ di -c
  2. s,m,b,u,v,p,T
  3. /dev/sda6,/,28.1G,20.2G,6.5G,77%,ext4
  4. udev,/dev,1.5G,0.0G,1.5G,0%,devtmpfs
  5. tmpfs,/run,300.2M,0.9M,299.3M,0%,tmpfs

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

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

下面是个示例:

  1. $ di -g
  2. Filesystem Mount Gibis Used Avail %Used fs Type
  3. /dev/sda6 / 28.1 20.2 6.5 77% ext4
  4. udev /dev 1.5 0.0 1.5 0% devtmpfs
  5. tmpfs /run 0.3 0.0 0.3 0% tmpfs

当然,你能看到所有与大小有关的值都用千兆字节(G)打印出来。

同样的你可以用 -k 和 -m 选项来分别的显示千字节(K)大小和兆字节(M)大小。

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

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

  1. $ di -I tmpfs
  2. Filesystem Mount Size Used Avail %Used fs Type
  3. tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs
  4. none /run/lock 5.0M 0.0M 5.0M 0% tmpfs
  5. none /run/shm 1.5G 0.0G 1.5G 0% tmpfs
  6. none /run/user 100.0M 0.0M 100.0M 0% tmpfs
  7. none /sys/fs/cgroup 0.0M 0.0M 0.0M 0% tmpfs

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

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

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

下面是个示例:

  1. $ di -n
  2. /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4
  3. udev /dev 1.5G 0.0G 1.5G 0% devtmpfs
  4. tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs

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

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

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

示例:

  1. $ di -t
  2. Filesystem Mount Size Used Avail %Used fs Type
  3. /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4
  4. udev /dev 1.5G 0.0G 1.5G 0% devtmpfs
  5. tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs
  6. Total 29.9G 20.2G 8.3G 72%

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

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

-s选项可用于排序该命令的输出结果(译注:默认按照挂载点名称排序)

下面告诉你如何反向排序输出:

  1. $ di -sr
  2. Filesystem Mount Size Used Avail %Used fs Type
  3. tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs
  4. udev /dev 1.5G 0.0G 1.5G 0% devtmpfs
  5. /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,打印挂载点的名称。

示例:

  1. $ di -fm
  2. Mount
  3. /
  4. /dev
  5. /run

如上你可以看到只有挂载点的名字被打印出来。

同样的,打印文件系统的类型,用 -ft

示例:

  1. $ di -ft
  2. fsType
  3. ext4
  4. devtmpf
  5. tmpfs

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

更完整的选项,参考di命令man文档

下载/安装

这里有一些关于di命令的重要链接:

  • 主页
  • 下载链接

命令行工具 di 也能通过apt、yum等命令在命令行下载和安装。Ubuntu用户也可以从Ubuntu 软件中心下载这个命令。

优点

  • 提供了许多高级功能
  • 跨平台

缺点

  • 在大多数的Linux发行版没有预装
  • 大量选项需要学习

结论

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

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/entry-level/201310/30-2666.html

【转帖】比df命令更有用的磁盘信息工具的更多相关文章

  1. linux包之coreutils之du和df命令

    [root@localhost ~]# rpm -qf /usr/bin/ducoreutils-8.4-31.el6.x86_64[root@localhost ~]# rpm -qf /bin/d ...

  2. [转]Linux df 命令不更新磁盘数据空间使用情况的解决办法

    当你已经找出并remove掉Linux系统中的大容量文件时,然后使用df -h查看使用情况依旧不变时.可尝试如下方法解决 1.找出那个进程占用了哪些已删除的文件 # 查看哪些被文件还在被哪个进程占用 ...

  3. linux之df命令

    介绍: Linux中df命令可以用来显示目前在Linux系统上的文件系统的磁盘使用情况统计.这些工具可以方便地知道哪些文件系统消耗多少内存.此外,如果被拾起,并且提供一个特定的文件名作为df命令的参数 ...

  4. Linux df 命令用法示例

    介绍: Linux中df命令可以用来显示目前在Linux系统上的文件系统的磁盘使用情况统计.这些工具可以方便地知道哪些文件系统消耗多少内存.此外,如果被拾起,并且提供一个特定的文件名作为df命令的参数 ...

  5. du 和 df命令的区别(超赞)

    du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /<filesystem>用于报告文件系统使用的块数.但是,我们可以发现从df命令算出的文 ...

  6. du和df命令的区别

    du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /<filesystem>用于报告文件系统使用的块数.但是,我们可以发现从df命令算出的文 ...

  7. Linux du与df命令的差异

    今天上午查看磁盘空间,df命令查看的时候:93%,du命令查看的时候:90%.回想起昨天在用ftp传输过程中,rm掉文件,应该是文件虽然表明上删除掉了,但是空间实际是未释放的. 由于du与df命令实施 ...

  8. Linux du命令和df命令区别

    du 命令 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all 显示目录中个别文件的大小. -b或-bytes 显示目录或文件大 ...

  9. df和du显示的磁盘空间使用情况不一致的原因及处理

    在Linux下查看磁盘空间使用情况,最常使用的就是du和df了.然而两者还是有很大区别的,有时候其输出结果甚至非常悬殊. 1. 如何记忆这两个命令 du-Disk Usage df-Disk Free ...

随机推荐

  1. @EnableScheduling

  2. HZOJ 20190818 NOIP模拟24题解

    T1 字符串: 裸的卡特兰数题,考拉学长讲过的原题,就是bzoj3907网格那题,而且这题更简单,连高精都不用 结论$C_{n+m}^{n}-C_{n+m}^{n+1}$ 考场上10min切掉 #in ...

  3. Python: 关于 sys.stdout.flush()

    stackoverflow https://stackoverflow.com/questions/10019456/usage-of-sys-stdout-flush-method Python's ...

  4. node中从express到koa再到koa2的发展历程

    koa是Express的下一代基于Node.js的web框架,目前有1.x和2.0两个版本. 历史 1. Express Express是第一代最流行的web框架,它对Node.js的http进行了封 ...

  5. kubernetes 之部署metrics-server v0.3.1

    Metrics-server简介 Metrics-server是用来替换heapster获取集群上资源指标数据的,heapster从1.11开始逐渐被废弃了. 在使用heapster时,获取资源指标是 ...

  6. node.js由浅入深教程

    https://blog.csdn.net/qq_39985511/article/details/80075051

  7. Linux-ubuntu英文版输入法不能切换中文输入法问题解决办法

    1:System Settings中点击Language Support​ 2. ​ 3. ​ 4. ​ 5. ​ 6. ​ 7.注意不要勾选Only Show Current Language ​

  8. leetcode-hard-array-149. Max Points on a Line -NO

    mycode  不会.... 参考 因为每次遍历一个点,也就是i的时候,都是新建的一个lines,所以也就是考虑了k相同b不同的情况 最后gcd函数就求最大公约数,来解决斜率精度的问题 class S ...

  9. Python —— sklearn.feature_selection模块

    Python —— sklearn.feature_selection模块 sklearn.feature_selection模块的作用是feature selection,而不是feature ex ...

  10. Android 网络请求Retrofit + RxJava

    一.背景 经常看到项目用Retrofit+RxJava+RxAndroid的框架,为了看懂项目的结构.现在来了解一下,Retrofit: Retrofit是Square 公司开发的一款正对Androi ...