/etc/*.conf
この場合、特定のフォルダにあるファイルのサイズを印刷したいと思います。
私が使用するとき:
cd /etc
du -ch $(ls | grep .conf) | tail -1 | cut -f1
私は120Kを得ます。
私が使用するとき:
du -bch $(ls | grep .conf) | tail -1 | cut -f1
私は46Kを得ます。サイズは同じですが、バイト単位でなければなりません。そうですか?それでは120000
、何かがあるはずです。
私が使用するとき:
du -bsh $(ls | grep .conf) | tail -1 | cut -f1
1.3Kを受けましたが、この人は誰ですか?
答え1
du -hc
ファイルサイズをファイルシステムブロックサイズ(通常は4K)の倍数で表示します。これは、リストされたファイルの物理ディスク使用量です。この-h
オプションは人が読める形式(K / M / G)で寸法を印刷し、この-c
オプションはリストの最後に寸法全体を印刷します。
[root@testvm1 etc]# du -hc *.conf
4.0K asound.conf
4.0K chrony.conf
4.0K dracut.conf
....
4.0K vconsole.conf
4.0K yum.conf
104K total
du -bch
を使用すると、引数-b
はファイルサイズをバイト単位でリストします。ただし、このオプションは、--apparent-size
ディスク使用量ではなくファイルの見かけのサイズを表示することを意味します。これは一般的に合計を下げます。
[root@testvm1 etc]# du -bch *.conf
55 asound.conf
1.1K chrony.conf
1.3K dracut.conf
....
41 vconsole.conf
970 yum.conf
32K total
du -sh
-s
各パラメータの合計サイズを表示するこのオプションを使用します。このオプションは通常、ディレクトリと共に使用されます。このオプションは、ファイルリストに使用されたときに-s
特別な出力を生成しません。コマンドの出力はdu -bsh
リストの最後のファイルサイズである可能性が高いです。
この-b
オプションは、--apparent-size --block-size=1
単位をバイトに保ちながらブロックサイズ計算を使用する場合は、この--block-size
オプションのみを使用してください。
[root@testvm1 etc]# du --block-size=1 -c *.conf
4096 asound.conf
4096 chrony.conf
4096 dracut.conf
...
4096 vconsole.conf
4096 yum.conf
106496 total
答え2
du
なしで結果を確認する必要があります。| tail -1 | cut -1
(-hオプションを無視してk、Mのみを追加してください...)
(目安としてhttp://man7.org/linux/man-pages/man1/du.1.html)
-c
すべてのファイルのディスク使用量と合計を印刷します。ファイルシステムの形式によっては、ファイルのディスク使用量が実際のサイズより大きい場合があります.)
-bc
ディスクが使用するサイズではなく、「実際の」サイズを印刷します。
-bs
提供されている各ファイル/フォルダの合計「実際の」サイズのみが印刷されますdu
。各ファイルを詳しく調べると、各* .confファイルのサイズが計算され、最後の行はユーザーが提供した最後の* .confファイルのサイズです。
PS:おそらく次のようにすることができます。du -bch *.conf
結果に対してgrepの代わりにlsを実行することです。