ls -lBir dosyanın mantıksal boyutunu elde etmek için kullanabilirim , ancak bir dosyanın fiziksel boyutunu almanın bir yolu var mı?
ls -lBir dosyanın mantıksal boyutunu elde etmek için kullanabilirim , ancak bir dosyanın fiziksel boyutunu almanın bir yolu var mı?
Yanıtlar:
ls -ldosyanın görünür boyutunu verir, bu da bir programın dosyayı baştan sona okursa okuyacağı bayt sayısıdır. dusize "diskteki" dosyanın boyutunu verir.
Varsayılan olarak, dudosyanın boyutunu disk blokları olarak verir, ancak -hbunun yerine insan tarafından okunabilir bir birim almak için kullanabilirsiniz . duSisteminizle ilgili kılavuza da bakın .
GNU coreutil'lerle du(muhtemelen Linux'ta sahip olduğunuz şeydir) -bbayt almak için --apparent-sizeseçenek anlamına geldiğini unutmayın . Aslında diskte kullanılan bayt sayısını almak için kullanmak istediğiniz şey bu değildir. Bunun yerine --block-size=1veya kullanın -B 1.
GNU ile dosya üzerinde lsde yapabilirsiniz ls -s --block-size=1. Bu du -B 1, dosyayla aynı sayıyı verecektir .
Misal:
$ ls -l file
-rw-r--r-- 1 myself wheel 536870912 Apr 8 11:44 file
$ ls -lh file
-rw-r--r-- 1 myself wheel 512M Apr 8 11:44 file
$ du -h file
24K file
$ du -B 1 file
24576 file
$ ls -s --block-size=1 file
24576 file
Bu, diskte yaklaşık 24 KB alan 512 MB bir dosya olduğu anlamına gelir. Bu seyrek bir dosyadır (çoğunlukla diske yazılmayan ancak dosyada mantıksal "delikler" olarak gösterilen sıfırlar). Önceden ayrılmış büyük dosyalar, örneğin sanal makineler için disk görüntüleri veya takas dosyaları vb. İle çalışırken seyrek dosyalar yaygındır. Seyrek bir dosya oluşturmak hızlıdır, sıfırlarla doldurmak yavaştır (ve gereksizdir).
fallocateLinux sisteminiz için el kitabına da bakınız .
du ne kadar verinin gerçekten okunabileceğini lsgösterirken, disk sektörlerinin ne kadar tahsis edildiğini gösterir.
dugerçekte dosya tarafından kullanılan disk miktarını gösterirken , gösterilen görünür boyut (mantıksal boyut) lsbir programın kaç bayt okuyabileceğini gösterir. Dosya seyrekse, okunan bazı baytlar sıfır olur, ancak yine de bunları okuyan programa teslim edilir (diskten değil).