SPDX-FileCopyrightText: 2021-2022 Yoran Heling SPDX-License-Identifier: MIT =head1 NAME B - NCurses Disk Usage =head1 SYNOPSIS B [I] I =head1 DESCRIPTION ncdu (NCurses Disk Usage) is a curses-based version of the well-known 'du', and provides a fast way to see what directories are using your disk space. =head1 OPTIONS =head2 Mode Selection =over =item B<-h>, -B<-help> Print a short help message and quit. =item B<-v>, B<-V>, B<--version> Print ncdu version and quit. =item B<-f> I Load the given file, which has earlier been created with the C<-o> option. If I is equivalent to C<->, the file is read from standard input. For the sake of preventing a screw-up, the current version of ncdu will assume that the directory information in the imported file does not represent the filesystem on which the file is being imported. That is, the refresh, file deletion and shell spawning options in the browser will be disabled. =item I Scan the given directory. =item B<-o> I Export all necessary information to I instead of opening the browser interface. If I is C<->, the data is written to standard output. See the examples section below for some handy use cases. Be warned that the exported data may grow quite large when exporting a directory with many files. 10.000 files will get you an export in the order of 600 to 700 KiB uncompressed, or a little over 100 KiB when compressed with gzip. This scales linearly, so be prepared to handle a few tens of megabytes when dealing with millions of files. =item B<-e>, B<--extended>, B<--no-extended> Enable/disable extended information mode. This will, in addition to the usual file information, also read the ownership, permissions and last modification time for each file. This will result in higher memory usage (by roughly ~30%) and in a larger output file when exporting. When using the file export/import function, this flag will need to be added both when exporting (to make sure the information is added to the export), and when importing (to read this extra information in memory). This flag has no effect when importing a file that has been exported without the extended information. This enables viewing and sorting by the latest child mtime, or modified time, using 'm' and 'M', respectively. =item B<--ignore-config> Do not attempt to load any configuration files. =back =head2 Scan Options These options affect the scanning progress, and have no effect when importing directory information from a file. =over =item B<-x>, B<--one-file-system> Do not cross filesystem boundaries, i.e. only count files and directories on the same filesystem as the directory being scanned. =item B<--cross-file-system> Do cross filesystem boundaries. This is the default, but can be specified to overrule a previously given C<-x>. =item B<--exclude> I Exclude files that match I. The files will still be displayed by default, but are not counted towards the disk usage statistics. This argument can be added multiple times to add more patterns. =item B<-X> I, B<--exclude-from> I Exclude files that match any pattern in I. Patterns should be separated by a newline. =item B<--include-caches>, B<--exclude-caches> Include (default) or exclude directories containing CACHEDIR.TAG. The directories will still be displayed, but their contents will not be scanned or counted towards the disk usage statistics. L =item B<-L>, B<--follow-symlinks>, B<--no-follow-symlinks> Follow (or not) symlinks and count the size of the file they point to. As of ncdu 1.14, this option will not follow symlinks to directories and will count each symlinked file as a unique file (i.e. unlike how hard links are handled). This is subject to change in later versions. =item B<--include-kernfs>, B<--exclude-kernfs> (Linux only) Include (default) or exclude Linux pseudo filesystems, e.g. /proc (procfs), /sys (sysfs). The complete list of currently known pseudo filesystems is: binfmt, bpf, cgroup, cgroup2, debug, devpts, proc, pstore, security, selinux, sys, trace. =back =head2 Interface options =over =item B<-0> Don't give any feedback while scanning a directory or importing a file, other than when a fatal error occurs. Ncurses will not be initialized until the scan is complete. When exporting the data with C<-o>, ncurses will not be initialized at all. This option is the default when exporting to standard output. =item B<-1> Similar to C<-0>, but does give feedback on the scanning progress with a single line of output. This option is the default when exporting to a file. In some cases, the ncurses browser interface which you'll see after the scan/import is complete may look garbled when using this option. If you're not exporting to a file, C<-2> is probably a better choice. =item B<-2> Provide a full-screen ncurses interface while scanning a directory or importing a file. This is the only interface that provides feedback on any non-fatal errors while scanning. =item B<-q>, B<--slow-ui-updates>, B<--fast-ui-updates> Change the UI update interval while scanning or importing. Ncdu will update the screen 10 times a second by default (C<--fast-ui-updates>), this can be decreased to once every 2 seconds with C<-q> or C<--slow-ui-updates>. This feature can be used to save bandwidth over remote connections. This option has no effect when C<-0> is used. =item B<--enable-shell>, B<--disable-shell> Enable or disable shell spawning from the browser. This feature is enabled by default when scanning a live directory and disabled when importing from file. =item B<--enable-delete>, B<--disable-delete> Enable or disable the built-in file deletion feature. This feature is enabled by default when scanning a live directory and disabled when importing from file. Explicitly disabling the deletion feature can work as a safeguard to prevent accidental data loss. =item B<--enable-refresh>, B<--disable-refresh> Enable or disable directory refreshing from the browser. This feature is enabled by default when scanning a live directory and disabled when importing from file. =item B<-r> Read-only mode. When given once, this is an alias for C<--disable-delete>, when given twice it will also add C<--disable-shell>, thus ensuring that there is no way to modify the file system from within ncdu. =item B<--si>, B<--no-si> List sizes using base 10 prefixes, that is, powers of 1000 (KB, MB, etc), as defined in the International System of Units (SI), instead of the usual base 2 prefixes, that is, powers of 1024 (KiB, MiB, etc). =item B<--disk-usage>, B<--apparent-size> Select whether to display disk usage (default) or apparent sizes. Can also be toggled in the browser with the 'a' key. =item B<--show-hidden>, B<--hide-hidden> Show (default) or hide "hidden" and excluded files. Can also be toggled in the browser with the 'e' key. =item B<--show-itemcount>, B<--hide-itemcount> Show or hide (default) the item counts column. Can also be toggled in the browser with the 'c' key. =item B<--show-mtime>, B<--hide-mtime> Show or hide (default) the last modification time column. Can also be toggled in the browser with the 'm' key. This option is ignored when not in extended mode (see C<-e>). =item B<--show-graph>, B<--hide-graph> Show (default) or hide the relative size bar column. Can also be toggled in the browser with the 'g' key. =item B<--show-percent>, B<--hide-percent> Show (default) or hide the relative size percent column. Can also be toggled in the browser with the 'g' key. =item B<--graph-style> I