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?

Riešenie

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ť.

Komentáre (18)

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.

Komentáre (11)

ls -lhS triedenie podľa veľkosti v čitateľnom formáte

Komentáre (5)