Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

diruseコマンドでディスクの使用量を調べる

解説をスキップして操作方法を読む

デジタルアドバンテージ
2004/05/15
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
各ユーザーがどのくらいディスクを使用しているかや、システム内の各フォルダがどのくらい利用されているかを調べたい場合がある。
フォルダ別のディスク使用量を調査するには、リソースキット・ツールに含まれるdiruseコマンドを使うとよい。
SFU環境ではUNIXベースのduコマンドが利用できる。
 
解説

 各ユーザーがどのくらいファイル・サーバ上のディスク領域を使用しているかとか、アプリケーションやデータの再配置などのために、どのフォルダにどのくらいのデータ(ファイル)が入っているかを調べたい、という要望は少なくない。このような場合は、例えばエクスプローラでフォルダ名を選択し、右クリックの[プロパティ]メニューを使うとそのフォルダで使用しているディスク領域のサイズを調べることができる。

[プロパティ]ダイアログによるフォルダ容量の確認
エクスプローラでフォルダを選択して右クリックする。そしてポップアップ・メニューから[プロパティ]を選択すると、そのフォルダ中の総ファイル・サイズ(サブフォルダも含む)が表示される。
  対象となるフォルダ。
  ファイル・サイズの合計。
  実際にディスク上で占有しているサイズ。圧縮ファイルなどが使われていると、ファイル・サイズの合計よりも少なくなることがある。

 だがこの方法では、多数のフォルダがある場合には非常にわずらわしい。コマンドなどで簡単に調べられると便利である。このTIPSでは、このような目的に利用できる、2つのコマンド・ツールについて解説する。


操作方法

リソースキット・ツールのdiruseコマンド

リソースキット・ツールの入手法

 リソースキット・ツールには、diruseというコマンドが用意されており、これを使ってフォルダごとの使用量を簡単に調べることができる(これは次に紹介するduコマンドをベースにしているコマンドであるが、オプションや結果の表示方法などはかなり異なっている)。リソースキット・ツールの入手やインストール方法についてはWindows TIPS「Windows OS向けリソースキット・ツールを入手する」を参照していただきたい。

 diruseの使い方は「diruse /?」で表示されるが、一番基本的な使い方は「diruse <フォルダ名>……」という方法である。これを実行すると、指定されたフォルダの中に含まれるファイルやサブフォルダをすべてスキャンし、その合計サイズが表示される(隠しファイルやシステム・ファイルのサイズも含まれる)。指定するフォルダはローカルのドライブだけでなく、UNC形式で指定してもよい(ただしこのコマンドを実行するためには、アクセスするフォルダやファイルに適切なアクセス権が必要)。

C:\>diruse \\server1\home\hiroy-u

    Size  (b)  Files  Directory
   1148018442   6687  SUB-TOTAL: \\SERVER1\HOME\HIROY-U
   1148018442   6687  TOTAL: \\SERVER1\HOME\HIROY-

 「SUB-TOTAL」は、指定されたフォルダ中の総ファイル・サイズである。この例ではフォルダを1つしか指定していないが、複数指定した場合は、各SUB-TOTALの合計がTOTAL行に表示される。

 ところで左端に表示されている数値が結果(ファイル・サイズの合計)であるが、けた数が多くて見づらい。Mbytes単位にして、さらに3けたごとに「,」で区切るようにするには、「/m」と「/,」オプションを付けるとよい。

C:\>diruse /m /, \\server1\home\hiroy-u

    Size (mb)  Files  Directory
     1,094.84   6687  SUB-TOTAL: \\SERVER1\HOME\HIROY-U
     1,094.84   6687  TOTAL: \\SERVER1\HOME\HIROY-U

 この例では、指定した単一のフォルダのサイズしか表示されていないが、指定したフォルダ(例えばユーザーのホーム)中の各フォルダの総計を求めるには、さらに「/*」オプションを指定する。

C:\>diruse /* /m /, \\server1\home

    Size (mb)  Files  Directory
     1,977.71   2812  SUB-TOTAL: \\SERVER1\HOME\aki-k
     4,633.97    646  SUB-TOTAL: \\SERVER1\HOME\hiromi-s
     1,094.84   6687  SUB-TOTAL: \\SERVER1\HOME\hiroy-u
…(中略)…
     8,306.36  14834  SUB-TOTAL: \\SERVER1\HOME\yoshi-o
    25,563.44  66303  TOTAL

 diruseにはこのほかにも、サブフォルダごとの詳細を表示させる「/s」オプションや、指定したサイズを超えていると行頭に「!」マークを表示させる「/q」オプション、圧縮ファイルの実ディスク・サイズを基に合計を計算する「/c」オプション(デフォルトでは圧縮前のファイル・サイズで計算する)、結果をログ・ファイルに記録する「/l」オプションなども用意されているので、活用してほしい。

SFUのduコマンド

SFU 3.5の入手とインストール
SFU 3.5活用ガイド

 du(「disk usage」の略)コマンドは、diruseの元となったコマンドであり、UNIXやLinuxでは広く一般的に使われている。Windows OS環境では、「Microsoft Windows Services for UNIX(以下SFU)」にこのduが含まれているので、SFUをインストールすれば利用することができる。SFUについてはWindows TIPS「UNIX互換環境を実現するSFUを利用する」を参照していただきたい。

 SFUのduを使って、例えば「\\server1\home」というユーザーのホーム・ディレクトリ以下のユーザーごとの使用量を調査するには、次のようにする(Windows OSにおけるUNCの「\\server1\home」は、SFUでは「/net/server1/home」と表現する)。ただしduはデフォルトでは1ブロック=512bytesのブロック単位で数えた使用量(ブロック数)を表示するようになっているので(これは初期のUNIX版duの仕様に基づいている)、「-k」オプションを付けてKbytes単位で表示させるのがよい。End of Article

% du -s -k /net/server1/usr/*
1122469 /net/server1/usr/hiroy-u
45707   /net/server1/usr/masa-i
2025833 /net/server1/usr/aki-k
…(中略)…
8508967 /net/server1/usr/yoshi-o
 
関連記事
  Windows TIPS:Windows OS向けリソースキット・ツールを入手する
  Windows TIPS:UNIX互換環境を実現するSFUを利用する
  製品レビュー:企業ユーザーのためのSFU 3.5活用ガイダンス
     
「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH