1月 16

昔はUnixコマンドの-hオプションといえばヘルプだったような気がするのですが、今はhuman readableな出力処理が割り当てられているコマンドが結構あります。以下はlsコマンドのオンラインマニュアルからの引用。関連オプション--siも一緒に引用。

-h, --human-readable
with -l, print sizes in human readable format (e.g., 1K 234M 2G)
--si   likewise, but use powers of 1000 not 1024

つまり人間が見てわかりやすいようにキロバイトならK、メガバイトならMを付けた形で表示してくれるということです。--siは国際単位系に合わせて基数1000で表示します。(付けなければ基数1024)

実行結果は以下のとおり。

$ ls -l
total 2128
-rw-r--r-- 1 foo  foo        1 2010-01-16 09:41 test.1B
-rw-r--r-- 1 foo  foo     1000 2010-01-16 09:39 test.1KB
-rw-r--r-- 1 foo  foo     1024 2010-01-16 09:39 test.1KiB
-rw-r--r-- 1 foo  foo  1000000 2010-01-16 09:40 test.1MB
-rw-r--r-- 1 foo  foo  1048576 2010-01-16 09:40 test.1MiB

$ ls -lh
total 2.1M
-rw-r--r-- 1 foo  foo     1 2010-01-16 09:41 test.1B
-rw-r--r-- 1 foo  foo  1000 2010-01-16 09:39 test.1KB
-rw-r--r-- 1 foo  foo  1.0K 2010-01-16 09:39 test.1KiB
-rw-r--r-- 1 foo  foo  977K 2010-01-16 09:40 test.1MB
-rw-r--r-- 1 foo  foo  1.0M 2010-01-16 09:40 test.1MiB

$ ls -lh --si
total 2.2M
-rw-r--r-- 1 foo  foo     1 2010-01-16 09:41 test.1B
-rw-r--r-- 1 foo  foo  1.0k 2010-01-16 09:39 test.1KB
-rw-r--r-- 1 foo  foo  1.1k 2010-01-16 09:39 test.1KiB
-rw-r--r-- 1 foo  foo  1.0M 2010-01-16 09:40 test.1MB
-rw-r--r-- 1 foo  foo  1.1M 2010-01-16 09:40 test.1MiB

わかりやすくていいですね。ls以外でもdfやduなどで使えます。

Leave a Reply

preload preload preload