Kaip padaryti, kad `ls` rodytų failų dydžius megabaitais?

Kokių komandų reikia, kad "Linux" ls rodytų failo dydį MB?

Sprendimas

ls -l --block-size=M pateiks ilgo formato sąrašą (reikalingas, kad iš tikrųjų pamatytumėte failo dydį) ir *apvalins failų dydžius iki artimiausio MiB.

Jei norite MB (10^6 baitų), o ne MiB (2^20 baitų) vienetų, naudokite --block-size=MB.

Jei nenorite, kad prie failo dydžio būtų pridedama M priesaga, galite naudoti --block-size=1M. Ačiū Stéphane Chazelas už pasiūlymą.

Jei tiesiog norite, kad failų dydžiai būtų išreikšti ne konkrečiai megabaitais, o "protingais" vienetais, galite naudoti -lh, kad gautumėte ilgo formato sąrašą ir žmogui suprantamą failo dydžio pateikimą. Naudojant failo dydžio vienetus, failo dydis bus pateikiamas maždaug 1-3 skaitmenimis (todėl matysite tokius failo dydžius kaip 6,1K, 151K, 7,1M, 15M, 1,5G ir pan.

--bloko dydžio parametras aprašytas ls vadovo puslapyje; man ls ir ieškokite SIZE. Jis leidžia naudoti ir kitus vienetus nei MB/MiB, o iš išvaizdos (nebandžiau) - ir bet kokio dydžio blokus (taigi, jei norite, galite matyti failo dydį kaip 429 baitų blokų skaičių).

Atkreipkite dėmesį, kad ir --block-size, ir -h yra GNU plėtiniai ant Open Group's ls, todėl tai gali neveikti, jei neturite GNU vartotojo srities (o tai yra daugumoje Linux įrenginių). ls iš GNU Coreutils 8.5 palaiko --block-size ir -h, kaip aprašyta pirmiau. Ačiū kojiro už tai, kad atkreipė į tai dėmesį.

Komentarai (18)

ls -lh pateikia žmogui suprantamus failų dydžius ilguoju formatu.

Jis naudoja k, M, G ir T priesagas (arba nenaudoja jokių priesagų baitams), kad skaičius išliktų mažas, pvz., 1.4K arba 178M.

-h yra GNU Coreutils plėtinys, o ne POSIX bazinis standartas.

Atkreipkite dėmesį, kad tai neatsako į tiksliai užduotą klausimą. Jei norite, kad net ir mažų ar milžiniškų failų dydžiai būtų griežtai išreikšti MiB, Michael Kjörling' atsakymas tai daro GNU coreutils ls.

Komentarai (11)

ls -lhS rūšiuoti pagal dydį žmogui suprantamu formatu

Komentarai (5)