Linuxのコマンドラインユーザーなら、ファイルシステムのディスク使用量をチェックするためにdfコマンドを使ったことがあるはずです。dfはよく使われるコマンドですが、ユーザーが実際に利用できるディスク容量や、様々な便利な表示形式などの高度な機能はまだ提供されていません。これらの高度な機能だけでなく、df のすべての機能を提供する別のコマンドラインユーティリティがあります。この記事では、ディスク情報ユーティリティ -- di について説明します。
di - ディスク情報ツール
このdiのヘルプマニュアルのページを見れば、diがチェックする価値のある貴重な機能を提供していることは明らかです。それでは、このツールの使用例を見てみましょう。
テスト環境
- OS - Ubuntu 13.04
- Shell - バッシュ 4.2.45
- Application - di 4.30
簡単なチュートリアル
ディ・ツールの例をいくつかご紹介します:
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
そのため、ディスク使用量のデータ単位としてギガバイトとメガバイトが使用されていることがわかります。これはdfのデフォルトの出力よりも間違いなく優れています。
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オプションでギガバイト単位でサイズを印刷します。
これがその例です:
$ 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
もちろん、サイズに依存する値はすべてギガバイトで表示されることがわかります。
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
OK、tmpfsタイプに関連するファイルシステム情報だけが出力され、表示されていることがわかります。
7.nオプションでヘッダー行出力をスキップ
nオプションは、このコマンドの出力をスクリプトで解析しようとしていて、diコマンドに表示されるヘッダー行をスキップさせたい場合に便利です。
これがその例です:
$ 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'を追加すると、出力を逆順に並べ替えることもできます。
10.出力形式は-fオプションで指定します。
fオプションとそのサブオプションを組み合わせることで、出力フォーマット文字列を指定できます。
例えば、-fmを指定すると、マウント・ポイントの名前を表示します。
例
$ di -fm
Mount
/
/dev
/run
上にあるように、マウントポイントの名前だけが表示されます。
同様に、ファイルシステムのタイプを -ft で表示します。
例
$ di -ft
fsType
ext4
devtmpf
tmpfs
すぐに見つけたい場合は、他の書式オプションのスクリーンショットをご覧ください。
ダウンロード/インストール
diコマンドに関する重要なリンクです:
コマンドラインツールdiは、aptやyumなどを使ってコマンドラインからダウンロードしてインストールすることもできます。
バンテージ
- 多くの高度な機能を提供
- クロスプラットフォーム
欠点
- ほとんどのLinuxディストリビューションでは、プリインストールされた
- 豊富な学習オプション
はんけつをくだす
最後に、diコマンドは、dfコマンドよりも強力で非常に便利な機能をいくつか提供しています。dfに似ていて、ディスク情報に関してはdfより強力なコマンドラインツールをお探しなら、diがお勧めです。一度試してみてください!




