Linux'un ls
dosya boyutunu MB olarak göstermesi için hangi komutlara ihtiyacım var ?
Linux'un ls
dosya boyutunu MB olarak göstermesi için hangi komutlara ihtiyacım var ?
Yanıtlar:
ls -l --block-size=M
Size uzun formatlı bir liste (aslında dosya boyutunu görmeniz gerekir) ve en yakın MiB'ye kadar yuvarlak boyutlarda dosya verir.
MiB (2 ^ 20 bayt) birimi --block-size=MB
yerine MB (10 ^ 6 bayt) istiyorsanız, bunun yerine kullanın.
M
Sonekin dosya boyutuna eklenmesini istemiyorsanız, bunun gibi bir şey kullanabilirsiniz --block-size=1M
. Bunu önerdiğiniz için teşekkürler Stéphane Chazelas .
Dosya boyutlarını özellikle megabaytlardan ziyade "makul" birimlerde istiyorsanız, -lh
uzun formatlı bir liste ve insan tarafından okunabilen dosya boyutu sunumu elde etmek için kullanabilirsiniz . (Böylece gibi dosya boyutu görürsünüz Bu yaklaşık 1-3 hane ile sunulan dosya boyutlarını tutmak için dosya boyutu birimlerini kullanacak 6.1K
, 151K
, 7.1M
, 15M
, 1.5G
vb.
Bu --block-size
parametre man sayfasında ls; man ls
ve arayın SIZE
. MB / MiB dışındaki birimlere de izin verir ve görünüşünden (bunu denemedim) keyfi blok boyutları da (böylece, dosya boyutunu isterseniz 429 baytlık bir blok sayısı olarak görebilirsiniz. ) için.
Her ikisinin de --block-size
ve Open Group'un en-h
üstünde GNU eklentileri olduğuna dikkat edinls
, bu nedenle (çoğu Linux kurulumunun yaptığı) bir GNU kullanıcısı değilseniz bu çalışmayabilir. ls
GNU coreutils 8.5 --block-boyutu ve yukarıda tarif edildiği gibi h destekler. Bunu işaret ettiği için kojiro'ya teşekkürler .
ls
mu? Standardınls
böyle bir argümanı yoktur. İle xsi uzantısı ls
vardır -s
o blokların sayısını rapor yapar bayrağı, fakat standart bir bayrak yoktur --block-size
.
--block-size
Debian Squeeze sistemime yüklü olan coreutils 8.5'e sahip. Soru açıkça Linux için olduğu ve başka bir şey belirtmediği için, GNU coreutils'in etrafında merkezli bir kullanıcı alanı olduğunu kabul ediyorum. Bunu açıklığa kavuşturmak için cevabı güncelledim. (Ayrıca, Açık Grup ls ya -h sahip görünmemektedir. :)
)
--block-size
, bir GNU uzantısıdır. Mac OS X’in GNU’yu kullanmadığından şüpheleniyorum ls
.
ls -lh
insan tarafından okunabilen dosya boyutlarını, uzun formatı verir.
Gerektiği gibi k, M, G ve T soneklerini (veya bayt için sonek yok) kullanır, böylece sayı küçük kalır, örneğin 1.4K
veya 178M
.
-h
POSIX taban çizgisinin değil, bir GNU coreutils uzantısıdır.
Bunun soruyu tam olarak sorulduğu gibi yanıtlamadığını unutmayın. Küçük boyutlarda veya devasa dosyalar için bile kesinlikle MiB'dels
boyutlar istiyorsanız, Michael Kjörling'in cevabı GNU coreutils için yapar .
h
yazmaktan daha kolay--block-size=M
ls -l
İnsan değilse, kim kullanıyor ? : p
ls -l
, zamanın% 99'unu şeyler yapmak için yanlış yoldur. unix.stackexchange.com/questions/128985/why-not-parse-ls adresini ziyaret edin . Bu% 1 cömert davranıyor ve bir kerelik kullanım için etkileşimli olarak yazdığınız tek gömleklerle sınırlı, bilinmeyen dosya adlarında tekrar tekrar kullanacağınız bir komut dosyası değil.
ls -lhS
okunabilir biçimde, boyuta göre sırala
ls -lh
soruyu gerçekten yanıtlamadığı nedenlerden dolayı cevap hakkındaki yorumları inceleyin .
Ve bu, her şeyi bir dizin sırasına göre artan dosya boyutuna göre (yine de okunabilir) listeleme seçeneğidir.
ls -lSrh
--block-size=M
olabilir :M
boyutun yanında bir sonek görüntülenmesine neden olur ve--block-size=1M
atlamak için kullanabilirsiniz . Bunun için GNU l'lere ihtiyacınız olduğunu belirtmek faydalı olabilir (çoğu gömülü olmayan Linux sistemlerinde GNU l'lar olacaktır).