web-dev-qa-db-ja.com

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

Unix(Tru64)で、lsコマンドにファイルサイズをメガバイト単位で表示させるにはどうすればよいですか。現在、私は以下を使ってバイトでそれを示すことができます:

ls -la
158
atricapilla

多分-hであなたのために十分です:

-h
-lオプションと一緒に使用する場合は、2桁目を3桁以下にするために、バイト、キロバイト、メガバイト、ギガバイト、テラバイト、およびPetabyteの単位サフィックスを使用しますサイズ.

ls -lah

一般的なアドバイス:特定のコマンドのマニュアル/ヘルプを読むにはman commandnameを使用してください。ここman ls

242
Felix

ls --block-size=Mはサイズをメガバイト単位で表示しますが、1 MB未満のものについても1 MBを表示します。あなたのUNIXバージョンのlsでこのオプションが受け入れられるかどうかはわかりませんが。

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

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

32
Jan.

あなたはあなたのために数学をするためにawkを使わなければなりません:

ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'

これはmegaより小さいファイルの出力には影響しません。

あなたのlsがどのように配置されているかに合わせてフィールド番号を調整する必要があるかもしれません。それがあなたの好みならばmegaを "1000000"に変更することができます。

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

15

再帰的な人間が読める形式のためにls -shRを試してください。

14
Sorter

ls -lashを試してください。サイズを人間が読める形式で出力します。

8
iddqd

du -sm filename.txt

5
Ether

またタイプすることができます

du -sh ./*

これは現在のディレクトリの下にあるすべてのフォルダを、Kb、Mb、Gbなど、より見慣れたファイルサイズを含め、人間が読める形式で一覧表示します。

5
Keng
ls -l --block-size=MB 

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

  • 10 ^ 6にはMBを使う
  • 2 ^ 20にはMを使う
2
Evan

特定のファイルだけのサイズを知りたい場合は、次のコマンドを実行してください。

ls -sh ファイル名

-sはサイズ、hは人間が読むことができます(上記のように数回)。

出力は次のようになります。

753M myfilename

ファイル名を省略すると、ディレクトリをリストし、各ファイルのサイズをその名前の横に配置します。ファイル名引数を指定せずに呼び出された場合のls -laの動作とは異なります。

お役に立てれば。

2
Rob Jones

ファイルサイズだけに興味があり、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

これは、何も解析する必要なしにファイルサイズを印刷します。

0
SKN