Skip to content

gnualmalki/udu

Repository files navigation

UDU

UDU is an extremely fast POSIX-command-line-program for summarizing file and directory sizes by recursively scanning directories using a parallel traversal engine implemented with OpenMP making it significantly faster than traditional tools on multi-core systems.

See Benchmarks.

Installation

Pre-built Binaries

You can download pre-built binaries from the GitHub Releases page.

Build from Source

Building UDU requires a modern C compiler such as GCC 9.5 or Clang 14.0.0 (or later), GNU Make, and OpenMP 3.0 or later (optional: for parallel processing).

Clone the repository and build using these commands:

git clone --depth=1 https://github.com/gnualmalki/udu.git
cd udu
make -B

Install with:

make install # may require sudo

Usage

Usage: udu [option(s)...] [path(s)...]
 Extremely fast disk-usage analyzer with a parallel traversal engine.

 OPTIONS:
  -a, --apparent-size    show file sizes instead of disk usage
                          (apparent = bytes reported by the filesystem,
                           disk usage = actual space allocated)
  -h, --help             display this help and exit
  -q, --quiet            display output only at program exit (default)
  -v, --verbose          display each processed file
  -t, --tree             mimic the output of 'tree' command
      --version          display version information and exit
  -X, --exclude=PATTERN  skip files or directories that match a glob pattern
                          *        any characters
                          ?        a single character
                          [abc]    any character in the set
                          Examples: '*.log', 'temp?', '[0-9]*'
 EXAMPLE:
  udu ~/ -avX epstein-files

Report bugs at <https://github.com/makestatic/udu/issues>

License

THIS PROGRAM IS FREE SOFTWARE: YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION, EITHER VERSION 3 OF THE LICENSE, OR ANY LATER VERSION.

THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU GENERAL PUBLIC LICENSE FOR MORE DETAILS.