Linux has a “du” command for showing directory size. It is very useful for managing directories.
How to find the size of a dir?
du -sh ‹dir_name›
How to find the size of all top-level subdirs?
cd to the dir, then du -h -d1 | sort -h for human readable format and sorted.
For raw byte count, do du -d1 | sort -n.
Most important options:
-s = do not calculate size of subdirectories.-d ‹n› = calculate all size of subdirs to depth ‹n›. -d 1 would be all the first level subdirs.Human readable forms. (kilo, mega, giga)
-h = human readable form; in binary units.--si = human readable form; in metric units.Specify your own units:
-k = kibi bytes. (kibi = 2^10 = 1024) (default)-m = mibi bytes. (mibi = 2^20 = 1048576)-B 1000 = kilo bytes.-B 1000000 = mega bytes.〔☛ Computing: mega vs mibi, kilo vs kibi〕
When using “sort”, use -n to sort by number, use -h to sort human readable form of number (⁖ the output of “du -h”)
Size of one directory. Binary unit. -s for “summery”, -h for human readable.
du -s -h ergoemacs_org/ 32M ergoemacs_org/
Size of one directory. Metric unit. -s for “summery”, --si for metric (SI) unit.
du -s --si ergoemacs_org/ 34M ergoemacs_org/
Size of all subdirs, in kibi bytes. du -k emacs | sort -n
du -k emacs | sort -n 40 emacs/qi_logo/old 56 emacs/lisp_logo 76 emacs/text_editor_unicode 100 emacs/ergonomic_emacs_keybinding 106 emacs/unicode-browser 124 emacs/_p 144 emacs/qi_logo 212 emacs/command-frequency 280 emacs/i/unicode 304 emacs/command-frequency_data_files 360 emacs/emacs_logo 388 emacs/i/menu 524 emacs/xx/command-frequency backup 2010-02-01 545 emacs/xx 6331 emacs/i 16087 emacs
show in kilo bytes. du -B 1000 emacs | sort -n
du -B 1000 emacs | sort -n 41 emacs/qi_logo/old 58 emacs/lisp_logo 78 emacs/text_editor_unicode 103 emacs/ergonomic_emacs_keybinding 109 emacs/unicode-browser 127 emacs/_p 148 emacs/qi_logo 218 emacs/command-frequency 287 emacs/i/unicode 312 emacs/command-frequency_data_files 369 emacs/emacs_logo 398 emacs/i/menu 537 emacs/xx/command-frequency backup 2010-02-01 559 emacs/xx 6483 emacs/i 16474 emacs
Attach unit to number, in metric units. du --si emacs | sort -h
du --si emacs | sort -h 41k emacs/qi_logo/old 58k emacs/lisp_logo 78k emacs/text_editor_unicode 103k emacs/ergonomic_emacs_keybinding 109k emacs/unicode-browser 127k emacs/_p 148k emacs/qi_logo 218k emacs/command-frequency 287k emacs/i/unicode 312k emacs/command-frequency_data_files 369k emacs/emacs_logo 398k emacs/i/menu 537k emacs/xx/command-frequency backup 2010-02-01 559k emacs/xx 6.5M emacs/i 17M emacs