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

ファイルサイズの確認

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

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

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

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


    $ ls [-lh] [-s]

    -l

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

    -h

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

    -s

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

例 — ファイルサイズを表示する

次の例は、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

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

  1. サイズの大きなファイルを検索したいディレクトリに移動します。

  2. 次のように入力して、ファイルのサイズをブロック単位に、最も大きいものから降順に表示します。


    $ ls -s | sort -nr | more
    

    sort -nr

    ファイルのリストをブロックサイズの最も大きなものから降順に並べる 

例 — サイズの大きなファイルを見つける

次の例では、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

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

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


$ find directory -size +nnn 

directory

ファイルを検索するディレクトリ 

-size +nnn

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

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

次の例は、作業中のカレントディレクトリ内の 400 ブロックを超えるファイルをどのように見つけるかを示します。


$ 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