Yanıtlar:
Belki -hsenin 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 commandnameBelirli bir komutun kılavuzunu / yardımını okumak için kullanın, örn man ls.
ls --block-size=Mboyutları 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 -hwhile true ; do ls -al --block-size=M ; sleep 1 ; done
Sizin awkiç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 . megaTercihiniz buysa "1000000" olarak değiştirebilirsiniz .
Bu, muhtemelen istediğinizden daha fazla ondalık basamak basacaktır. Bir yuvarlama işlevi uygulayabilirsiniz.
ls -lhVeya çok daha az zarif ls --block-size=M, ama AWK çok yararlı!
ls -shRözyinelemeli insan okunabilir formatı deneyin .
-hTru64'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ı
-sboyutu 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 -ladosya adı argümanları olmadan çağrıldığında yapılanın aksine .
Bu yardımcı olur umarım.
-hseçeneğin lso sistemde mevcut olmadığını belirtti.
ls -l --block-size=MB
İçin --block-sizeparametre:
MB10 ^ 6 için kullanınM2 ^ 20 için kullanın1MB . Bu nedenle ls -l --block-size=kBdaha faydalı buldum .
Dosya boyutuyla ilgileniyorsanız ve lskomutu 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.