
UNIX コマンドラインでファイルのサイズを MB 単位で確認するにはどうすればよいでしょうか?
答え1
GNU coreutils などのls
サポートがある場合:--block-size
ls
ls -s --block-size=1048576 filename | cut -d' ' -f1
答え2
du -h file
または
ls -lh file
編集
この回答は間違っています。ファイルのサイズに応じて、サイズを Gb/Kb で報告することもできるからです。賛成票を削除してください。
答え3
私は通常、「du -k myfile」を使用してキロバイトを取得し、最後の 3 桁を視覚的に削除しますが、おおよそのサイズを知りたいだけです。
du には、MB 用の -m オプションが頻繁に (常に?) あることが判明しました。
ディスクの割り当てはバイト単位ではなくブロック単位で行われるため、ファイルのサイズは使用されるディスク容量と若干異なる可能性があることに注意してください。
ディスク容量が少ないために「大きな」ファイルを探している場合は、解決策がより多様になるため、より有益な質問になります。
答え4
stat
これができます。
$ ls -l | grep myfile
-rw------- 1 rory rory 3120 2009-07-02 16:58 myfile
$ stat -c '%s' myfile
3120
バイト単位で表示されます。
bash の演算を使用してメガバイトを計算できます。
$ echo $(( $( stat -c '%s' myfile ) / 1024 / 1024 ))
0
(ただし、この場合は切り捨てられます)