Linuxのls
でファイルサイズをMB単位で表示するには、どのコマンドが必要ですか?
ls -l --block-size=M
を指定すると、長い形式のリスト(実際にファイルサイズを確認する必要があります)およびファイルサイズを最も近いMiBまで丸めます。
MiB(2 ^ 20バイト)単位ではなくMB(10 ^ 6バイト)が必要な場合は、代わりに--block-size=MB
を使用してください。
ファイルサイズにM
サフィックスを付けたくない場合は、--block-size=1M
などを使用できます。これを示唆してくれてありがとう StéphaneChazelas .
具体的にはメガバイトではなく、「合理的な」単位のファイルサイズが必要な場合は、-lh
を使用して長い形式のリストを取得し、人間が読めるファイルサイズのプレゼンテーション。これは、ファイルサイズの単位を使用して、ファイルサイズが約1〜3桁で表示されるようにします(6.1K
、151K
、7.1M
、15M
などのファイルサイズが表示されます、1.5G
など。
--block-size
パラメータについては、lsのマニュアルページで説明しています。 man ls
およびSIZE
を検索します。 MB/MiB以外の単位も可能で、その外観(私は試していません)から任意のブロックサイズも可能です(必要に応じて、ファイルサイズを429バイトブロックの数として見ることができます)に)。
--block-size
と-h
はどちらも Open Groupのls
の上にGNU拡張があることに注意してください。 GNUユーザーランドを持っていません(ほとんどのLinuxインストールで使用されています)。 GNUからのls
Coreutils 8.5は、上記のように--block-sizeおよび-hをサポートしています。これを指摘してくれた kojiro に感謝します。
ls -lh
は、人間が読めるファイルサイズ、長い形式を提供します。
必要に応じてk、M、G、Tのサフィックス(またはバイトの場合はサフィックスなし)を使用するため、数値は小さくなります。 1.4K
または178M
。
-h
はGNU coreutils拡張であり、ベースラインPOSIXではありません。
これは、質問されたとおりの質問には答えません。小さなファイルや巨大なファイルであっても、MiBで厳密にサイズが必要な場合は、 MichaelKjörlingの答えは、GNU coreutils ls
の場合です。
ls -lhS
人間が読める形式でサイズ順に並べ替え
そして、これはファイルサイズ(まだ人間が読める)の昇順でディレクトリ順にすべてをリストするオプションです。
ls -lSrh