Skip to content

melak47/treesize-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dc82ff8 · Dec 1, 2019

History

42 Commits
Dec 1, 2019
May 8, 2016
Dec 1, 2019
Dec 1, 2019
May 7, 2016
Dec 1, 2019

Repository files navigation

treesize

crate.badge license.badge commits.badge

CI status: build.badge

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