Viac na
Ako dosiahnem, aby `ls` zobrazoval veľkosti súborov v megabajtoch?
Aké príkazy potrebujem na to, aby systém Linux's ls
zobrazoval veľkosť súboru v MB?
456
3
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 ako6,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ľadajteSIZE
. 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'sls
, 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
alebo178M
.-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
.ls -lhS
triedenie podľa veľkosti v čitateľnom formáte