Milyen parancsokra van szükségem a Linuxhoz, hogy a ls
megmutassa a fájl méretét MB-ban?
Az ls -l --block-size=M
egy hosszú formátumú listát ad (ami szükséges ahhoz, hogy ténylegesen láthassuk a fájlméretet) és *kerekíti a fájlméreteket a legközelebbi MiB-ra.
Ha MB (10^6 bájt) és nem MiB (2^20 bájt) egységeket szeretne, használja helyette a --block-size=MB
parancsot.
Ha nem akarja, hogy az -M
utótagot a fájlmérethez csatolja, használhat valami olyasmit, mint --block-size=1M
. Köszönjük Stéphane Chazelas javaslatát.
Ha egyszerűen csak "ésszerű" egységekben szeretné a fájlméreteket, nem pedig speciálisan megabájtokban, akkor használhatja az -lh
-t, hogy hosszú formátumú listát és emberi olvashatóságú fájlméret-megjelenítést kapjon. Ez a fájlméret egységeit használja, hogy a fájlméretek 1-3 számjegyűek maradjanak (így olyan fájlméreteket fog látni, mint 6.1K
, 151K
, 7.1M
, 15M
, 1.5G
és így tovább.
A --block-size
paramétert az ls man oldala írja le; man ls
és keress rá a SIZE
szóra. Lehetővé teszi a MB/MiB-től eltérő egységek használatát is, és a jelek szerint (nem próbáltam ki) tetszőleges blokkméreteket is (így a fájl méretét 429 bájtos blokkok számaként is láthatod, ha akarod).
Vedd figyelembe, hogy mind a --block-size
, mind a -h
GNU kiterjesztések a the Open Group's ls
tetején, így ez nem biztos, hogy működik, ha nincs GNU userlanded (ami a legtöbb Linux telepítésnél van). A GNU Coreutils 8.5-ből származó ls
támogatja a --block-size és -h értékeket a fent leírtak szerint. Köszönet [kojiro]-nak (https://unix.stackexchange.com/users/5377/kojiro), hogy rámutatott erre.
Az ls -lh
ember által olvasható fájlméreteket ad, hosszú formátumban.
Szükség szerint k, M, G és T utótagokat használ (vagy nem használ utótagot a bájtok esetében), így a szám kicsi marad, pl. 1.4K
vagy 178M
.
A -h
egy GNU coreutils kiterjesztés, nem alap POSIX.
Megjegyzendő, hogy ez nem pontosan a feltett kérdésre válaszol. Ha a méreteket szigorúan MiB-ban akarod megadni, még a kis vagy óriási fájlok esetében is, Michael Kjörling's válasza ezt teszi a GNU coreutils ls
számára.