Aké príkazy potrebujem na to, aby systém Linux's ls
zobrazoval veľkosť súboru v MB?
ls -l --block-size=M
vám poskytne dlhý formát výpisu (potrebný na zobrazenie veľkosti súboru) a zaokrúhli veľkosť súboru nahor na najbližší MiB.
Ak chcete MB (10^6 bajtov) a nie jednotky MiB (2^20 bajtov), použite namiesto toho --block-size=MB
.
Ak nechcete, aby bola k veľkosti súboru pripojená prípona M
, môžete použiť niečo ako --block-size=1M
. Vďaka Stéphane Chazelas za tento návrh.
Ak jednoducho chcete veľkosti súborov v "rozumných" jednotkách, a nie konkrétne v megabajtoch, potom môžete použiť -lh
na získanie dlhého formátu výpisu a ľudsky čitateľnej prezentácie veľkosti súborov. Toto použije jednotky veľkosti súboru, aby sa veľkosti súborov prezentovali približne 1-3 číslicami (takže uvidíte veľkosti súborov ako 6,1K
, 151K
, 7,1M
, 15M
, 1,5G
atď.
Parameter --block-size
je popísaný v manuálovej stránke pre ls; man ls
a hľadajte SIZE
. Umožňuje aj iné jednotky ako MB/MiB a podľa všetkého (neskúšal som to) aj ľubovoľné veľkosti blokov (takže ak chcete, môžete vidieť veľkosť súboru ako počet 429-bajtových blokov).
Všimnite si, že --block-size
aj -h
sú rozšírenia GNU nad Open Group's ls
, takže to nemusí fungovať, ak nemáte užívateľský priestor GNU (čo väčšina inštalácií Linuxu má). ls
z GNU Coreutils 8.5 podporuje --block-size a -h, ako je opísané vyššie. Vďaka kojiro za upozornenie na túto skutočnosť.
ls -lh
poskytuje veľkosti súborov v dlhom formáte, ktoré sú čitateľné pre človeka.
Podľa potreby používa prípony k, M, G a T (alebo bez prípony pre bajty), aby číslo zostalo malé, napr. 1.4K
alebo 178M
.
-h
je rozšírenie GNU coreutils, nie základný POSIX.
Všimnite si, že to neodpovedá na otázku presne tak, ako bola položená. Ak chcete veľkosti striktne v MiB aj pre malé alebo gigantické súbory, odpoveď Michaela Kjörlinga'to robí pre GNU coreutils ls
.