Yanıtlar:
Belki -h
senin için yeterli:
-h
-l seçeneğiyle birlikte kullanıldığında, birim soneklerini kullanın: Beden 2 sayısını kullanarak basamak sayısını üç ya da altına düşürmek için bayt, Kilobayt, Megabayt, Gigabayt, Terabayt ve Petabyte kullanın.
ls -lah
Genel öneri: man commandname
Belirli bir komutun kılavuzunu / yardımını okumak için kullanın, örn man ls
.
ls --block-size=M
boyutları Megabayt olarak yazdırır, ancak 1 MB'nin altındaki herhangi bir şey için de 1 MB gösterir. Yine de, bu seçeneğin UNIX sürümünüzde kabul edilebilir olup olmadığından emin değilim.
Aslında ls -lh
, dosya yeterince büyükse Gigabayt cinsinden boyutlar da yazdırır (Her neyse: Linux 64bit'te bu işe yarıyor:>)
Yan düğümde: du -sh *
geçerli dizindeki dizin boyutlarını da yazdırır.
ls -h
while true ; do ls -al --block-size=M ; sleep 1 ; done
Sizin awk
için matematiği kullanmak zorunda kalacaksınız:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
Bu, daha küçük olan dosyaların çıktısını etkilemez mega
.
Alan numarasını ls
, düzenlendiği şekilde eşleştirmek için ayarlamanız gerekebilir . mega
Tercihiniz buysa "1000000" olarak değiştirebilirsiniz .
Bu, muhtemelen istediğinizden daha fazla ondalık basamak basacaktır. Bir yuvarlama işlevi uygulayabilirsiniz.
ls -lh
Veya çok daha az zarif ls --block-size=M
, ama AWK çok yararlı!
ls -shR
özyinelemeli insan okunabilir formatı deneyin .
-h
Tru64'te hiç olmadığını belirtti ve bu cevabın yayınlanmasından iki yıl önce yaptı.
Yalnızca belirli bir dosyanın boyutunu istiyorsanız, önceki cevapların önemsiz bir önerisi olan komut şöyledir:
ls -sh dosya adı
-s
boyutu içindir ve h
İnsan Okunabilir içindir (yukarıda belirtildiği gibi).
Çıktı şöyle görünecek:
753M myfilename
Dosya adlarını dışarıda bırakırsanız, her dosya boyutunu adının yanına yerleştirerek dizini listeler - ls -la
dosya adı argümanları olmadan çağrıldığında yapılanın aksine .
Bu yardımcı olur umarım.
-h
seçeneğin ls
o sistemde mevcut olmadığını belirtti.
ls -l --block-size=MB
İçin --block-size
parametre:
MB
10 ^ 6 için kullanınM
2 ^ 20 için kullanın1MB
. Bu nedenle ls -l --block-size=kB
daha faydalı buldum .
Dosya boyutuyla ilgileniyorsanız ve ls
komutu kullanmanız gerekmiyorsa , aşağıdakileri deneyin:
# echo "Hello World" > file.txt
# ls -l file.txt
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12
Bu, hiçbir şeyi ayrıştırmaya gerek kalmadan dosya boyutunu yazdırır.