'dan çok farklı du
çıktısı neden du -b
'dan çok farklı? -b
, --apparent-size --block-size=1
için kısaltılmıştır. Sadece --apparent-size
kullanarak bana çoğu zaman aynı sonucu verir, ancak --block-size=1
hile yapmak gibi görünüyor. Çıkışın o zaman doğru olup olmadığını merak ediyorum ve hangi numaraları istiyorum? (yani, başka bir depolama aygıtına kopyalandığında gerçek dosya boyutu)niçin 'du' genellikle du -b`
cevap
Görünür büyüklüğü uygulamalarınız dosyasında olduğunu düşünüyorum bayt sayısıdır. Dosyayı FTP veya HTTP üzerinden göndermeye karar verdiyseniz, ağ üzerinden aktarılacak veri miktarı (protokol başlıklarını saymaz). Ayrıca cat theFile | wc -c
sonucu ve mmap
kullanarak her şeyi yüklediyseniz, dosyanın alacağı adres alanı miktarıdır.
Disk kullanımı, dosyanızın o alanı kapladığından başka bir şey için kullanılamayan alan miktarıdır.
Çoğu durumda, disk kullanımı disk kullanımından daha küçüktür, çünkü disk kullanımı dosyanın son (kısmi) bloğunun tam boyutunu sayar ve görünen boyut yalnızca bu son satırdaki verileri sayar. Ancak, seyrek bir dosyaya sahip olduğunuzda görünen boyut daha büyüktür (dosyanın sonuna bir yere gittiğinizde seyrek dosyalar oluşturulur ve orada bir şeyler yazılır - OS, sıfırlarla dolu çok sayıda blok oluşturmaya zahmet etmez - - Sadece yazmaya karar verdiğiniz dosyanın parçası için bir blok oluşturur).
teşekkürler çok daha büyüktür! Bu tam bir açıklama. o zaman niçin 'wc -c theFile' ile aynı çıkışa sahip olmak için 'block-size = 1' 'ye ihtiyacım var (kedi işlemini kaydederek). -h, -k, -m, -B1 vb. belirttiğimde, sadece 'doğru' bayt sayısını verir mi? ama belki bu gerçekten başka bir soru? Varsayılan olarak çıkışlar, bayt kullanımı değil, blok kullanımını mı? – knittl
@knittl: Bilmiyorum. –
Güzel bir açıklama ama '--block-size = 1' hakkında soru konuşmuyor - -1. –
Varsayılan olarak, dosya boyutuyla aynı veya daha büyük olan disk kullanımı söz konusudur. --apparent boyutlu altında söylediği gibi
print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be
larger due to holes in (`sparse') files, internal fragmentation, indirect blocks, and the like
Yani 'görünen boyutta' tam olarak nedir? ve tam tersi ile karşılaşıyorum: görünen boyut neredeyse her zaman disk kullanımı – knittl
Karşılaştırın (örneğin) du -bm
için du -m
. Blok boyutu 1M
olmak
-b
setleri --apparent-size --block-size=1
, ama sonra m
geçersiz kılar. -bh
-h
karşı benzer
: -bh
--apparent-size --block-size=1 --human-readable
anlamına gelir ve tekrar h
geçersiz kılar blok boyutu.
Dosyalar ve klasörler
--apparent boyutlu diskteki boyut bayt miktarıdır
dosya veya klasör gerçek boyutu gerçek boyutunu ve diskteki boyutu var dosya veya klasör diskte alır. Eğer belirgin boyutlu hemen her zaman disk kullanımı daha birçok büyüklükleri yüksek olduğunu karşılaşırsanız sadece
du kullanarak Aynı şey o zaman iç parçalanma ile dosyaların (' `seyrek) dosyaların bir şey var demektir veya dolaylı bloklar.
Neden düşüş yok? Bu çok güzel bir soru gibi görünüyor. Bir soru veya yanıtı düşürmek için herkesin bir şeyler öğrenebilmesi için lütfen yorum yapma nezaketine sahip olun. Anonim downvote, atılan potansiyel bir öğretme anıdır. –
@Pete: muhtemelen StackOverflow için konu dışı olduğu için. Bazı daha yüksek itibarlı kullanıcıların fark edeceğini umuyorum. –