Kaip padaryti, kad `ls` rodytų failų dydžius megabaitais?
Kokių komandų reikia, kad "Linux" ls
rodytų failo dydį MB?
456
3
Kokių komandų reikia, kad "Linux" ls
rodytų failo dydį MB?
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 kaip6,1K
,151K
,7,1M
,15M
,1,5G
ir pan.--bloko dydžio
parametras aprašytas ls vadovo puslapyje;man ls
ir ieškokiteSIZE
. 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'sls
, 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į.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
arba178M
.-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
.ls -lhS
rūšiuoti pagal dydį žmogui suprantamu formatu