web-dev-qa-db-ja.com

`ls`にメガバイト単位のファイルサイズを表示するにはどうすればよいですか?

LinuxのlsでファイルサイズをMB単位で表示するには、どのコマンドが必要ですか?

524
Paul Sheldrake

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.1K151K7.1M15Mなどのファイルサイズが表示されます、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 に感謝します。

598
a CVn

ls -lhは、人間が読めるファイルサイズ、長い形式を提供します。

必要に応じてk、M、G、Tのサフィックス(またはバイトの場合はサフィックスなし)を使用するため、数値は小さくなります。 1.4Kまたは178M

-hはGNU coreutils拡張であり、ベースラインPOSIXではありません。

これは、質問されたとおりの質問には答えません。小さなファイルや巨大なファイルであっても、MiBで厳密にサイズが必要な場合は、 MichaelKjörlingの答えは、GNU coreutils ls の場合です。

445
Sirex

ls -lhS人間が読める形式でサイズ順に並べ替え

56
jaciefan

そして、これはファイルサイズ(まだ人間が読める)の昇順でディレクトリ順にすべてをリストするオプションです。

ls -lSrh
15
Marcos Placona