2010-09-20 11:20:48 +0000 2010-09-20 11:20:48 +0000
163
163

ls-command: ファイルサイズをメガバイト単位で表示するには?

Unix (Tru64)で、lsコマンドでファイルサイズをメガバイト単位で表示するには?現在のところ、次のようにしてバイト単位で表示することができます:

ls -la

回答 (9)

250
250
250
2010-09-20 11:22:20 +0000

もしかしたら-hで十分かもしれません:

-h -lオプションで使用する場合は、単位のサフィックスを使用します。Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte といった単位のサフィックスを使用して、サイズのベース2を使用して桁数を3桁以下にします。

ls -lah

一般的なアドバイス。特定のコマンドのマニュアル/ヘルプを読むには man commandname を使用します。

32
32
32
2010-09-20 12:33:13 +0000

ls --block-size=M はメガバイト単位でサイズを表示しますが、1MB 未満の場合は 1MB も表示します。

実際には、ファイルが十分に大きい場合には、ls -lh はギガバイト単位でサイズを表示します (まあ、とにかく: Linux 64bit ではこれは動作します :>)

サイドノードでは: du -sh * はカレントディレクトリのディレクトリサイズも表示します。

15
15
15
2010-09-20 13:36:26 +0000
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'

これは、awkよりも小さいファイルの出力には影響しません。それがお好みであれば、megaを “1000000 "に変更することができます。

これは、おそらくあなたが望むよりも多くの小数点以下の桁数を出力します。丸め関数を実装することができます。

13
13
13
2012-10-14 08:27:30 +0000

再帰的に人間が読めるフォーマットのために ls -shR を試してみてください。

5
5
5
2010-09-20 16:36:06 +0000

du -sm filename.txt

5
5
5
2015-04-19 22:57:53 +0000

また、

du -sh ./*

と入力すると、カレントディレクトリの下にあるすべてのフォルダが、人間が読める形式で一覧表示されます。

2
2
2
2015-07-24 18:25:55 +0000

001

--block-size パラメータの場合:

  • 10^6 には MB を使用
  • 2^20 には M を使用します。
2
2
2
2015-06-13 07:36:58 +0000

あなただけの特定のファイルのサイズが欲しい場合は、コマンド、前の答えの些細な外挿は、次のとおりです:

ls -sh _filename(s)_

-sはサイズのためであり、hは人間が読めるためです(上記の数回に述べたように)。

753M myfilename

ファイル名を省略した場合、ディレクトリをリストアップし、各ファイルのサイズをその名前の隣に配置します - ファイル名の引数なしで呼び出されたときに ls -la が行うこととは異なりません。

0
0
0
2016-03-10 17:34:39 +0000

ファイルサイズだけに興味があり、lsコマンドを使う必要がない場合は、次のようにしてみてください:

# echo "Hello World" > file.txt
# ls -l file.txt 
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12

これは何も解析する必要なくファイルサイズを表示します。