Welke commando's heb ik nodig voor Linux's ls
om de bestandsgrootte in MB te tonen?
ls -l --block-size=M
geeft een lange lijst (nodig om de bestandsgrootte te zien) en rondt de bestandsgrootte naar boven af op de dichtstbijzijnde MiB.
Als u MB (10^6 bytes) in plaats van MiB (2^20 bytes) eenheden wilt, gebruik dan --block-size=MB
in plaats daarvan.
Als u niet wilt dat het M
achtervoegsel aan de bestandsgrootte wordt gekoppeld, kunt u iets gebruiken als -blok-grootte=1M
. Met dank aan Stéphane Chazelas voor het aandragen van deze suggestie.
Als je gewoon bestandsgroottes wilt in "redelijke" eenheden, in plaats van specifiek megabytes, dan kun je -lh
gebruiken om een lijst in lang formaat te krijgen en menselijk leesbare presentatie van de bestandsgrootte. Dit zal eenheden van bestandsgrootte gebruiken om bestandsgroottes gepresenteerd te houden met ongeveer 1-3 cijfers (dus u'zult bestandsgroottes zien als 6.1K
, 151K
, 7.1M
, 15M
, 1.5G
enzovoort.
De -blok-size
parameter wordt beschreven in de man page voor ls; man ls
en zoek naar SIZE
. Het staat ook andere eenheden toe dan MB/MiB, en zo te zien (ik heb het niet geprobeerd) ook willekeurige blokgroottes (dus je zou de bestandsgrootte kunnen zien als een aantal blokken van 429 bytes als je dat zou willen).
Merk op dat zowel -blokgrootte
als -h
GNU extensies zijn bovenop the Open Group's ls
, dus dit werkt misschien niet als je geen GNU userland hebt (wat de meeste Linux installaties wel hebben). De ls
van GNU Coreutils 8.5 ondersteunt wel --block-size en -h zoals hierboven beschreven. Met dank aan kojiro om ons hierop te wijzen.
ls -lh
geeft menselijk leesbare bestandsgroottes, lang formaat.
Het gebruikt k, M, G, en T achtervoegsels (of geen achtervoegsel voor bytes) als dat nodig is, zodat het getal klein blijft, bijvoorbeeld 1.4K
of 178M
.
-h
is een GNU coreutils uitbreiding, geen POSIX basislijn.
Merk op dat dit niet precies de vraag beantwoordt zoals die gesteld is. Als je maten strikt in MiB wilt, zelfs voor kleine of gigantische bestanden, Michael Kjörling's antwoord doet dat voor GNU coreutils ls
.