treesize is a small command-line utility for listing a directory tree sorted by size. It's main goal is to quickly provide an overview of what is taking up the most space in a tree, so by default it will only list the 5 largest entries in the specified directory (and summarize the rest):
> treesize
. 99.4 MiB (Ξ£)
βββ target 99.4 MiB (Ξ£)
βββ src 13.4 KiB (Ξ£)
βββ Cargo.lock 4.9 KiB
βββ README.md 3.2 KiB
βββ LICENSE 1.1 KiB
βββ ... 271 B (Ξ£)
You can use these options to tweak the output listing (traversal of the tree is not affected):
-d <max-depth> Maximal directory depth to recurse, or -1 for infinite [default: 0]
-e <max-entries> Maximum number of entries to display per directory, or -1 for infinite [default: 5]
-s <size-format> How to format node sizes: h/human β powers of 1024, H/si β powers of 1000, r/raw β no
folding [default: human]
For example:
> treesize -d2 -e3
. 99.4 MiB (Ξ£)
βββ target 99.4 MiB (Ξ£)
β βββ debug 75.4 MiB (Ξ£)
β β βββ deps 53.4 MiB (Ξ£)
β β βββ treesize.pdb 10.1 MiB
β β βββ build 5.0 MiB (Ξ£)
β β βββ ... 6.9 MiB (Ξ£)
β βββ release 24.0 MiB (Ξ£)
β βββ deps 18.0 MiB (Ξ£)
β βββ build 3.6 MiB (Ξ£)
β βββ treesize.pdb 1.6 MiB
β βββ ... 756.7 KiB (Ξ£)
βββ src 13.4 KiB (Ξ£)
β βββ directory 9.4 KiB (Ξ£)
β β βββ print.rs 4.0 KiB
β β βββ mod.rs 2.6 KiB
β β βββ filesystem.rs 1.6 KiB
β β βββ ... 1.2 KiB (Ξ£)
β βββ main.rs 4.0 KiB
βββ Cargo.lock 4.9 KiB
βββ ... 4.5 KiB (Ξ£)
Flags that affect the traversal include:
-a List all files (including dotfiles)
-L Follow any symbolic links encountered
--one-file-system Stay in the same file system when listing