本当に奇妙な「du」行動

本当に奇妙な「du」行動

/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

おすすめ記事