回答:
たぶん-hあなたには十分です:
-h
-lオプションと一緒に使用する場合、サイズにベース2を使用して桁数を3以下に減らすために、バイト、キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイトの単位サフィックスを使用します。
ls -lah
一般的なアドバイス:man commandname特定のコマンドのマニュアル/ヘルプを読むために使用します(例:ここ)man ls。
ls --block-size=Mサイズをメガバイトで出力しますが、1 MB未満の場合も1 MBを表示します。ただし、UNIXバージョンのlsでこのオプションが受け入れられるかどうかはわかりません。
ls -lhファイルが十分に大きい場合、実際にはギガバイト単位でサイズも印刷します(とにかく:Linux 64ビットでは、これは動作します:>)
サイドノード:du -sh *現在のディレクトリのディレクトリサイズも出力します。
ls -h、ファイルが1GBを超えると使用は無意味になるため、このコマンドを1秒のループで使用しますwhile true ; do  ls -al --block-size=M ; sleep 1 ; done
                    あなたはあなたのawkために数学を行うために使用する必要があります:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
これは、より小さいファイルの出力には影響しませんmega。
lsレイアウト方法に合わせてフィールド番号を調整する必要がある場合があります。mega好みに応じて「1000000」に変更できます。
これにより、おそらく必要以上に小数点以下の桁が出力されます。丸め関数を実装できます。
ls -lhまたはls --block-size=Mに比べてはるかにエレガントではありませんが、AWKは非常に便利です!
                    ls -shR再帰的な人間が読める形式を試してください。
-hTru64 には何もないと述べており、この回答が投稿される前に2年以上にわたってそうしました。
                    特定のファイルのみのサイズが必要な場合、コマンドは、以前の回答の簡単な外挿であり、次のとおりです。
ls -sh ファイル名
-sはサイズ用であり、h人間が読めるもの用です(上記で何度か述べたように)。
出力は次のようになります。
753M myfilename
ファイル名を省略すると、ディレクトリがリストされ、各ファイルのサイズが名前の隣に配置さls -laれます。ファイル名引数なしで呼び出された場合とは異なります。
お役に立てれば。
-hにls、そのシステムにはオプションが存在しないと述べました。
                    ls -l --block-size=MB 
以下のための--block-sizeパラメータ:
MB10 ^ 6に使用M2 ^ 20 だけに使用1MBます。このため、私はls -l --block-size=kBより便利であることがわかりました。
                    ファイルサイズだけに興味があり、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
これにより、何も解析する必要なくファイルサイズが出力されます。