1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
.\" Automatically generated by Pandoc 3.4
.\"
.TH "gdu" "1" "2026\-03\-09" ""
.SH NAME
gdu \- Pretty fast disk usage analyzer written in Go
.SH SYNOPSIS
\f[B]gdu [flags] [directory_to_scan]\f[R]
.SH DESCRIPTION
Pretty fast disk usage analyzer written in Go.
.PP
Gdu is intended primarily for SSD disks where it can fully utilize
parallel processing.
However HDDs work as well, but the performance gain is not so huge.
.SH OPTIONS
\f[B]\-h\f[R], \f[B]\-\-help\f[R][=false] help for gdu
.PP
\f[B]\-i\f[R], \f[B]\-\-ignore\-dirs\f[R]=[/proc,/dev,/sys,/run] Paths
to ignore (separated by comma).
Supports both absolute and relative paths.
.PP
\f[B]\-I\f[R], \f[B]\-\-ignore\-dirs\-pattern\f[R] Path patterns to
ignore (separated by comma).
Supports both absolute and relative path patterns.
.PP
\f[B]\-X\f[R], \f[B]\-\-ignore\-from\f[R] Read path patterns to ignore
from file.
Supports both absolute and relative path patterns.
.PP
\f[B]\-T\f[R], \f[B]\-\-type\f[R] File types to include (e.g., \[en]type
yaml,json)
.PP
\f[B]\-E\f[R], \f[B]\-\-exclude\-type\f[R] File types to exclude (e.g.,
\[en]exclude\-type yaml,json)
.PP
\f[B]\-\-max\-age\f[R] Include files with mtime no older than DURATION
(e.g., 7d, 2h30m, 1y2mo)
.PP
\f[B]\-\-min\-age\f[R] Include files with mtime at least DURATION old
(e.g., 30d, 1w)
.PP
\f[B]\-\-since\f[R] Include files with mtime >= WHEN.
WHEN accepts RFC3339 timestamp (e.g., 2025\-08\-11T01:00:00\-07:00) or
date only YYYY\-MM\-DD (calendar\-day compare; includes the whole day)
.PP
\f[B]\-\-until\f[R] Include files with mtime <= WHEN.
WHEN accepts RFC3339 timestamp or date only YYYY\-MM\-DD
.PP
\f[B]\-l\f[R], \f[B]\-\-log\-file\f[R]=\[dq]/dev/null\[dq] Path to a
logfile
.PP
\f[B]\-m\f[R], \f[B]\-\-max\-cores\f[R] Set max cores that Gdu will use.
.PP
\f[B]\-c\f[R], \f[B]\-\-no\-color\f[R][=false] Do not use colorized
output
.PP
\f[B]\-x\f[R], \f[B]\-\-no\-cross\f[R][=false] Do not cross filesystem
boundaries
.PP
\f[B]\-H\f[R], \f[B]\-\-no\-hidden\f[R][=false] Ignore hidden
directories (beginning with dot)
.PP
\f[B]\-L\f[R], \f[B]\-\-follow\-symlinks\f[R][=false] Follow symlinks
for files, i.e.\ show the size of the file to which symlink points to
(symlinks to directories are not followed)
.PP
\f[B]\-n\f[R], \f[B]\-\-non\-interactive\f[R][=false] Do not run in
interactive mode
.PP
\f[B]\-p\f[R], \f[B]\-\-no\-progress\f[R][=false] Do not show progress
in non\-interactive mode
.PP
\f[B]\-u\f[R], \f[B]\-\-no\-unicode\f[R][=false] Do not use Unicode
symbols (for size bar)
.PP
\f[B]\-s\f[R], \f[B]\-\-summarize\f[R][=false] Show only a total in
non\-interactive mode
.PP
\f[B]\-t\f[R], \f[B]\-\-top\f[R][=0] Show only top X largest files in
non\-interactive mode
.PP
\f[B]\-d\f[R], \f[B]\-\-show\-disks\f[R][=false] Show all mounted disks
.PP
\f[B]\-a\f[R], \f[B]\-\-show\-apparent\-size\f[R][=false] Show apparent
size
.PP
\f[B]\-C\f[R], \f[B]\-\-show\-item\-count\f[R][=false] Show number of
items in directory
.PP
\f[B]\-k\f[R], \f[B]\-\-show\-in\-kib\f[R][=false] Show sizes in KiB (or
kB with \[en]si) in non\-interactive mode
.PP
\f[B]\-M\f[R], \f[B]\-\-show\-mtime\f[R][=false] Show latest mtime of
items in directory
.PP
\f[B]\-\-archive\-browsing\f[R][=false] Enable browsing of zip/jar
archives
.PP
\f[B]\-\-depth\f[R][=0] Show directory structure up to specified depth
in non\-interactive mode (0 means the flag is ignored)
.PP
\f[B]\-\-collapse\-path\f[R][=false] Collapse single\-child directory
chains
.PP
\f[B]\-\-mouse\f[R][=false] Use mouse
.PP
\f[B]\-\-si\f[R][=false] Show sizes with decimal SI prefixes (kB, MB,
GB) instead of binary prefixes (KiB, MiB, GiB)
.PP
\f[B]\-\-no\-prefix\f[R][=false] Show sizes as raw numbers without any
prefixes (SI or binary) in non\-interactive mode
.PP
\f[B]\-\-no\-spawn\-shell\f[R][=false] Do not allow spawning shell
.PP
\f[B]\-\-no\-delete\f[R][=false] Do not allow deletions
.PP
\f[B]\-\-no\-view\-file\f[R][=false] Do not allow viewing file contents
.PP
\f[B]\-f\f[R], \f[B]\-\-input\-file\f[R] Import analysis from JSON file.
If the file is \[dq]\-\[dq], read from standard input.
.PP
\f[B]\-o\f[R], \f[B]\-\-output\-file\f[R] Export all info into file as
JSON.
If the file is \[dq]\-\[dq], write to standard output.
.PP
\f[B]\-\-config\-file\f[R]=\[dq]$HOME/.gdu.yaml\[dq] Read config from
file
.PP
\f[B]\-\-write\-config\f[R][=false] Write current configuration to file
(default is $HOME/.gdu.yaml)
.PP
\f[B]\-\-enable\-profiling\f[R][=false] Enable collection of profiling
data and provide it on http://localhost:6060/debug/pprof/
.PP
\f[B]\-D\f[R], \f[B]\-\-db\f[R] Store analysis in database (\f[I].sqlite
for SQLite, \f[R].badger for BadgerDB)
.PP
\f[B]\-r\f[R], \f[B]\-\-read\-from\-storage\f[R][=false] Use existing
database instead of re\-scanning
.PP
\f[B]\-v\f[R], \f[B]\-\-version\f[R][=false] Print version
.SH FILE FLAGS
Files and directories may be prefixed by a one\-character flag with
following meaning:
.TP
\f[B]!\f[R]
An error occurred while reading this directory.
.TP
\f[B].\f[R]
An error occurred while reading a subdirectory, size may be not correct.
.TP
\f[B]\[at]\f[R]
File is symlink or socket.
.TP
\f[B]H\f[R]
Same file was already counted (hard link).
.TP
\f[B]e\f[R]
Directory is empty.
|