Solaris のシステム管理 (上級編)

ファイルサイズの確認

ls コマンドを使用して、ファイルサイズを調べたりソートしたりできます。また、find コマンドを使用して、サイズの制限を超えているファイルを探すことができます。詳細については、ls(1) および find(1) のマニュアルページを参照してください。


注 –

/var ディレクトリの容量がなくなった場合、/var ディレクトリに、ファイルシステム上の空き容量のあるディレクトリへのシンボリックリンクを設定しないでください。たとえそれが一時的な策であっても、デーモンプロセスおよびユーティリティーの一部に問題が生じることがあります。


Procedureファイルサイズを表示する方法

  1. 確認したいファイルがあるディレクトリに移動します。

  2. 次のように入力して、ファイルのサイズを表示します。


    $ ls [-lh] [-s]
    -l

    長形式でファイルとディレクトリのリストを表示し、それぞれのサイズをバイト単位で示します。(次の例を参照)

    -h

    ファイルやディレクトリのサイズが 1024 バイトより大きい場合、ファイルとディレクトリのサイズをキロバイト、メガバイト、ギガバイト、テラバイト単位で示します。このオプションは、-o-n-@-g オプションによる出力も、ファイルやディレクトリのサイズを新しい形式で表示するよう変更します。詳細は、ls(1) のマニュアルページを参照してください。

    -s

    ファイルとディレクトリのリストを表示し、それぞれのサイズをブロック単位で示します。


例 6–5 ファイルサイズを表示する

次の例は、lastlogmessages/var/adm ディレクトリ内のその他のファイルよりも大きいことを示します。


$ cd /var/adm
$ ls -lh
total 148
drwxrwxr-x   5 adm      adm          512 Nov 26 09:39 acct/
-rw-------   1 uucp     bin            0 Nov 26 09:25 aculog
drwxr-xr-x   2 adm      adm          512 Nov 26 09:25 exacct/
-r--r--r--   1 root     other       342K Nov 26 13:56 lastlog
drwxr-xr-x   2 adm      adm          512 Nov 26 09:25 log/
-rw-r--r--   1 root     root         20K Nov 26 13:55 messages
drwxr-xr-x   2 adm      adm          512 Nov 26 09:25 passwd/
drwxrwxr-x   2 adm      sys          512 Nov 26 09:39 sa/
drwxr-xr-x   2 root     sys          512 Nov 26 09:49 sm.bin/
-rw-rw-rw-   1 root     bin            0 Nov 26 09:25 spellhist
drwxr-xr-x   2 root     sys          512 Nov 26 09:25 streams/
-rw-r--r--   1 root     bin         3.3K Nov 26 13:56 utmpx
-rw-r--r--   1 root     root           0 Nov 26 10:17 vold.log
-rw-r--r--   1 adm      adm          19K Nov 26 13:56 wtmpx

次の例は、lpsched.1 ファイルが 2 ブロックを使用していることを示します。


$ cd /var/lp/logs
$ ls -s
total 2            0 lpsched       2 lpsched.1

Procedureサイズの大きなファイルを見つける方法

  1. 検索したいディレクトリに移動します。

  2. ファイルのサイズをブロック数でもっとも大きいものから降順に表示します。

    • ファイルの文字またはカラムが異なる場合、次のコマンドを使用して、ブロックサイズによりもっとも大きいものから降順で、ファイルのリストをソートします。


      $ ls -l | sort +4rn | more
      

      このコマンドは、左から 4 番目のフィールドにある文字により、リスト内のファイルをソートすることに注意してください。

    • ファイルの文字またはカラムが同じである場合、次のコマンドを使用して、ブロックサイズによりもっとも大きいものから降順で、ファイルのリストをソートします。


      $ ls -s | sort -nr | more
      

      このコマンドは、もっとも左側の文字から始め、リスト内のファイルをソートすることに注意してください。


例 6–6 サイズの大きなファイルを見つける (5 番目のフィールドの文字によるソート)


$ cd /var/adm
$ ls -l | sort +4rn | more
-r--r--r--   1 root     root     4568368 Oct 17 08:36 lastlog
-rw-r--r--   1 adm      adm       697040 Oct 17 12:30 pacct.9
-rw-r--r--   1 adm      adm       280520 Oct 17 13:05 pacct.2
-rw-r--r--   1 adm      adm       277360 Oct 17 12:55 pacct.4
-rw-r--r--   1 adm      adm       264080 Oct 17 12:45 pacct.6
-rw-r--r--   1 adm      adm       255840 Oct 17 12:40 pacct.7
-rw-r--r--   1 adm      adm       254120 Oct 17 13:10 pacct.1
-rw-r--r--   1 adm      adm       250360 Oct 17 12:25 pacct.10
-rw-r--r--   1 adm      adm       248880 Oct 17 13:00 pacct.3
-rw-r--r--   1 adm      adm       247200 Oct 17 12:35 pacct.8
-rw-r--r--   1 adm      adm       246720 Oct 17 13:15 pacct.0
-rw-r--r--   1 adm      adm       245920 Oct 17 12:50 pacct.5
-rw-r--r--   1 root     root      190229 Oct  5 03:02 messages.1
-rw-r--r--   1 adm      adm       156800 Oct 17 13:17 pacct
-rw-r--r--   1 adm      adm       129084 Oct 17 08:36 wtmpx


例 6–7 サイズの大きなファイルを見つける (もっとも左側の文字によるソート)

次の例では、lastlogmessages ファイルが /var/adm 内でもっとも大きなファイルです。


$ cd /var/adm
$ ls -s | sort -nr | more
  48 lastlog
  30 messages
  24 wtmpx
  18 pacct
   8 utmpx
   2 vold.log
   2 sulog
   2 sm.bin/
   2 sa/
   2 passwd/
   2 pacct1
   2 log/
   2 acct/
   0 spellhist
   0 aculog
total 144

Procedure指定されたサイズ制限を超えるファイルを見つける方法

  1. 次のように find コマンドを使用して、指定したサイズを超えるファイルを見つけてファイル名を表示します。


    $ find directory -size +nnn 
    
    directory

    検索するディレクトリを指定します。

    -size +nnn

    512 バイトブロック数です。このサイズを上回るファイルがリストされます。


例 6–8 指定されたサイズ制限を超えるファイルを見つける

次の例は、作業中のカレントディレクトリ内で 400 ブロックを超えるファイルを見つける方法を示します。-print オプションは、find コマンドの出力を表示します。


$ find . -size +400 -print
./Howto/howto.doc
./Howto/howto.doc.backup
./Howto/howtotest.doc
./Routine/routineBackupconcepts.doc
./Routine/routineIntro.doc
./Routine/routineTroublefsck.doc
./.record
./Mail/pagination
./Config/configPrintadmin.doc
./Config/configPrintsetup.doc
./Config/configMailappx.doc
./Config/configMailconcepts.doc
./snapshot.rs