2022-06-13 12:11:40 -04:00

#### 612 lines 25 KiB Groff Raw Blame History

 ```.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) ``` ```.\" ``` ```.\" Standard preamble: ``` ```.\" ======================================================================== ``` ```.de Sp \" Vertical space (when we can't use .PP) ``` ```.if t .sp .5v ``` ```.if n .sp ``` ```.. ``` ```.de Vb \" Begin verbatim text ``` ```.ft CW ``` ```.nf ``` ```.ne \\\$1 ``` ```.. ``` ```.de Ve \" End verbatim text ``` ```.ft R ``` ```.fi ``` ```.. ``` ```.\" Set up some character translations and predefined strings. \*(-- will ``` ```.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left ``` ```.\" double quote, and \*(R" will give a right double quote. \*(C+ will ``` ```.\" give a nicer C++. Capital omega is used to do unbreakable dashes and ``` ```.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, ``` ```.\" nothing in troff, for use with C<>. ``` ```.tr \(*W- ``` ```.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' ``` ```.ie n \{\ ``` ```. ds -- \(*W- ``` ```. ds PI pi ``` ```. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch ``` ```. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch ``` ```. ds L" "" ``` ```. ds R" "" ``` ```. ds C` "" ``` ```. ds C' "" ``` ```'br\} ``` ```.el\{\ ``` ```. ds -- \|\(em\| ``` ```. ds PI \(*p ``` ```. ds L" `` ``` ```. ds R" '' ``` ```. ds C` ``` ```. ds C' ``` ```'br\} ``` ```.\" ``` ```.\" Escape single quotes in literal strings from groff's Unicode transform. ``` ```.ie \n(.g .ds Aq \(aq ``` ```.el .ds Aq ' ``` ```.\" ``` ```.\" If the F register is >0, we'll generate index entries on stderr for ``` ```.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index ``` ```.\" entries marked with X<> in POD. Of course, you'll have to process the ``` ```.\" output yourself in some meaningful fashion. ``` ```.\" ``` ```.\" Avoid warning from groff about undefined register 'F'. ``` ```.de IX ``` ```.. ``` ```.nr rF 0 ``` ```.if \n(.g .if rF .nr rF 1 ``` ```.if (\n(rF:(\n(.g==0)) \{\ ``` ```. if \nF \{\ ``` ```. de IX ``` ```. tm Index:\\\$1\t\\n%\t"\\\$2" ``` ```.. ``` ```. if !\nF==2 \{\ ``` ```. nr % 0 ``` ```. nr F 2 ``` ```. \} ``` ```. \} ``` ```.\} ``` ```.rr rF ``` ```.\" ``` ```.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). ``` ```.\" Fear. Run. Save yourself. No user-serviceable parts. ``` ```. \" fudge factors for nroff and troff ``` ```.if n \{\ ``` ```. ds #H 0 ``` ```. ds #V .8m ``` ```. ds #F .3m ``` ```. ds #[ \f1 ``` ```. ds #] \fP ``` ```.\} ``` ```.if t \{\ ``` ```. ds #H ((1u-(\\\\n(.fu%2u))*.13m) ``` ```. ds #V .6m ``` ```. ds #F 0 ``` ```. ds #[ \& ``` ```. ds #] \& ``` ```.\} ``` ```. \" simple accents for nroff and troff ``` ```.if n \{\ ``` ```. ds ' \& ``` ```. ds ` \& ``` ```. ds ^ \& ``` ```. ds , \& ``` ```. ds ~ ~ ``` ```. ds / ``` ```.\} ``` ```.if t \{\ ``` ```. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" ``` ```. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' ``` ```. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' ``` ```. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' ``` ```. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' ``` ```. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' ``` ```.\} ``` ```. \" troff and (daisy-wheel) nroff accents ``` ```.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' ``` ```.ds 8 \h'\*(#H'\(*b\h'-\*(#H' ``` ```.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] ``` ```.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' ``` ```.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' ``` ```.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] ``` ```.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] ``` ```.ds ae a\h'-(\w'a'u*4/10)'e ``` ```.ds Ae A\h'-(\w'A'u*4/10)'E ``` ```. \" corrections for vroff ``` ```.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' ``` ```.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' ``` ```. \" for low resolution devices (crt and lpr) ``` ```.if \n(.H>23 .if \n(.V>19 \ ``` ```\{\ ``` ```. ds : e ``` ```. ds 8 ss ``` ```. ds o a ``` ```. ds d- d\h'-1'\(ga ``` ```. ds D- D\h'-1'\(hy ``` ```. ds th \o'bp' ``` ```. ds Th \o'LP' ``` ```. ds ae ae ``` ```. ds Ae AE ``` ```.\} ``` ```.rm #[ #] #H #V #F C ``` ```.\" ======================================================================== ``` ```.\" ``` ```.IX Title "STDIN 1" ``` ```.TH STDIN 1 "2022-06-13" "perl v5.32.1" "User Contributed Perl Documentation" ``` ```.\" For nroff, turn off justification. Always turn off hyphenation; it makes ``` ```.\" way too many mistakes in technical documents. ``` ```.if n .ad l ``` ```.nh ``` ```.SH "NAME" ``` ```ncdu \- NCurses Disk Usage ``` ```.SH "SYNOPSIS" ``` ```.IX Header "SYNOPSIS" ``` ```\&\fBncdu\fR [\fIoptions\fR] \fIdir\fR ``` ```.SH "DESCRIPTION" ``` ```.IX Header "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. ``` ```.SH "OPTIONS" ``` ```.IX Header "OPTIONS" ``` ```.SS "Mode Selection" ``` ```.IX Subsection "Mode Selection" ``` ```.IP "\fB\-h\fR, \-\fB\-help\fR" 4 ``` ```.IX Item "-h, --help" ``` ```Print a short help message and quit. ``` ```.IP "\fB\-v\fR, \fB\-V\fR, \fB\-\-version\fR" 4 ``` ```.IX Item "-v, -V, --version" ``` ```Print ncdu version and quit. ``` ```.IP "\fB\-f\fR \fI\s-1FILE\s0\fR" 4 ``` ```.IX Item "-f FILE" ``` ```Load the given file, which has earlier been created with the \f(CW\*(C`\-o\*(C'\fR option. If ``` ```\&\fI\s-1FILE\s0\fR is equivalent to \f(CW\*(C`\-\*(C'\fR, the file is read from standard input. ``` ```.Sp ``` ```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. ``` ```.IP "\fIdir\fR" 4 ``` ```.IX Item "dir" ``` ```Scan the given directory. ``` ```.IP "\fB\-o\fR \fI\s-1FILE\s0\fR" 4 ``` ```.IX Item "-o FILE" ``` ```Export all necessary information to \fI\s-1FILE\s0\fR instead of opening the browser ``` ```interface. If \fI\s-1FILE\s0\fR is \f(CW\*(C`\-\*(C'\fR, the data is written to standard output. See the ``` ```examples section below for some handy use cases. ``` ```.Sp ``` ```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. ``` ```.IP "\fB\-e\fR, \fB\-\-extended\fR, \fB\-\-no\-extended\fR" 4 ``` ```.IX Item "-e, --extended, --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. ``` ```.Sp ``` ```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. ``` ```.Sp ``` ```This enables viewing and sorting by the latest child mtime, or modified time, ``` ```using 'm' and 'M', respectively. ``` ```.IP "\fB\-\-ignore\-config\fR" 4 ``` ```.IX Item "--ignore-config" ``` ```Do not attempt to load any configuration files. ``` ```.SS "Scan Options" ``` ```.IX Subsection "Scan Options" ``` ```These options affect the scanning progress, and have no effect when importing ``` ```directory information from a file. ``` ```.IP "\fB\-x\fR, \fB\-\-one\-file\-system\fR" 4 ``` ```.IX Item "-x, --one-file-system" ``` ```Do not cross filesystem boundaries, i.e. only count files and directories on ``` ```the same filesystem as the directory being scanned. ``` ```.IP "\fB\-\-cross\-file\-system\fR" 4 ``` ```.IX Item "--cross-file-system" ``` ```Do cross filesystem boundaries. This is the default, but can be specified to ``` ```overrule a previously given \f(CW\*(C`\-x\*(C'\fR. ``` ```.IP "\fB\-\-exclude\fR \fI\s-1PATTERN\s0\fR" 4 ``` ```.IX Item "--exclude PATTERN" ``` ```Exclude files that match \fI\s-1PATTERN\s0\fR. 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. ``` ```.IP "\fB\-X\fR \fI\s-1FILE\s0\fR, \fB\-\-exclude\-from\fR \fI\s-1FILE\s0\fR" 4 ``` ```.IX Item "-X FILE, --exclude-from FILE" ``` ```Exclude files that match any pattern in \fI\s-1FILE\s0\fR. Patterns should be separated ``` ```by a newline. ``` ```.IP "\fB\-\-include\-caches\fR, \fB\-\-exclude\-caches\fR" 4 ``` ```.IX Item "--include-caches, --exclude-caches" ``` ```Include (default) or exclude directories containing \s-1CACHEDIR.TAG.\s0 The ``` ```directories will still be displayed, but their contents will not be scanned or ``` ```counted towards the disk usage statistics. ``` ``` ``` ```.IP "\fB\-L\fR, \fB\-\-follow\-symlinks\fR, \fB\-\-no\-follow\-symlinks\fR" 4 ``` ```.IX Item "-L, --follow-symlinks, --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. ``` ```.IP "\fB\-\-include\-kernfs\fR, \fB\-\-exclude\-kernfs\fR" 4 ``` ```.IX Item "--include-kernfs, --exclude-kernfs" ``` ```(Linux only) Include (default) or exclude Linux pseudo filesystems, e.g. /proc ``` ```(procfs), /sys (sysfs). ``` ```.Sp ``` ```The complete list of currently known pseudo filesystems is: binfmt, bpf, cgroup, ``` ```cgroup2, debug, devpts, proc, pstore, security, selinux, sys, trace. ``` ```.SS "Interface options" ``` ```.IX Subsection "Interface options" ``` ```.IP "\fB\-0\fR" 4 ``` ```.IX Item "-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 \f(CW\*(C`\-o\*(C'\fR, ncurses will not be ``` ```initialized at all. This option is the default when exporting to standard ``` ```output. ``` ```.IP "\fB\-1\fR" 4 ``` ```.IX Item "-1" ``` ```Similar to \f(CW\*(C`\-0\*(C'\fR, but does give feedback on the scanning progress with a single ``` ```line of output. This option is the default when exporting to a file. ``` ```.Sp ``` ```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, \f(CW\*(C`\-2\*(C'\fR is probably a better choice. ``` ```.IP "\fB\-2\fR" 4 ``` ```.IX Item "-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. ``` ```.IP "\fB\-q\fR, \fB\-\-slow\-ui\-updates\fR, \fB\-\-fast\-ui\-updates\fR" 4 ``` ```.IX Item "-q, --slow-ui-updates, --fast-ui-updates" ``` ```Change the \s-1UI\s0 update interval while scanning or importing. Ncdu will update the ``` ```screen 10 times a second by default (\f(CW\*(C`\-\-fast\-ui\-updates\*(C'\fR), this can be ``` ```decreased to once every 2 seconds with \f(CW\*(C`\-q\*(C'\fR or \f(CW\*(C`\-\-slow\-ui\-updates\*(C'\fR. This ``` ```feature can be used to save bandwidth over remote connections. This option has ``` ```no effect when \f(CW\*(C`\-0\*(C'\fR is used. ``` ```.IP "\fB\-\-enable\-shell\fR, \fB\-\-disable\-shell\fR" 4 ``` ```.IX Item "--enable-shell, --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. ``` ```.IP "\fB\-\-enable\-delete\fR, \fB\-\-disable\-delete\fR" 4 ``` ```.IX Item "--enable-delete, --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. ``` ```.IP "\fB\-\-enable\-refresh\fR, \fB\-\-disable\-refresh\fR" 4 ``` ```.IX Item "--enable-refresh, --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. ``` ```.IP "\fB\-r\fR" 4 ``` ```.IX Item "-r" ``` ```Read-only mode. When given once, this is an alias for \f(CW\*(C`\-\-disable\-delete\*(C'\fR, when ``` ```given twice it will also add \f(CW\*(C`\-\-disable\-shell\*(C'\fR, thus ensuring that there is no ``` ```way to modify the file system from within ncdu. ``` ```.IP "\fB\-\-si\fR, \fB\-\-no\-si\fR" 4 ``` ```.IX Item "--si, --no-si" ``` ```List sizes using base 10 prefixes, that is, powers of 1000 (\s-1KB, MB,\s0 etc), as ``` ```defined in the International System of Units (\s-1SI\s0), instead of the usual base 2 ``` ```prefixes, that is, powers of 1024 (KiB, MiB, etc). ``` ```.IP "\fB\-\-disk\-usage\fR, \fB\-\-apparent\-size\fR" 4 ``` ```.IX Item "--disk-usage, --apparent-size" ``` ```Select whether to display disk usage (default) or apparent sizes. Can also be ``` ```toggled in the browser with the 'a' key. ``` ```.IP "\fB\-\-show\-hidden\fR, \fB\-\-hide\-hidden\fR" 4 ``` ```.IX Item "--show-hidden, --hide-hidden" ``` ```Show (default) or hide \*(L"hidden\*(R" and excluded files. Can also be toggled in the ``` ```browser with the 'e' key. ``` ```.IP "\fB\-\-show\-itemcount\fR, \fB\-\-hide\-itemcount\fR" 4 ``` ```.IX Item "--show-itemcount, --hide-itemcount" ``` ```Show or hide (default) the item counts column. Can also be toggled in the ``` ```browser with the 'c' key. ``` ```.IP "\fB\-\-show\-mtime\fR, \fB\-\-hide\-mtime\fR" 4 ``` ```.IX Item "--show-mtime, --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 \f(CW\*(C`\-e\*(C'\fR). ``` ```.IP "\fB\-\-show\-graph\fR, \fB\-\-hide\-graph\fR" 4 ``` ```.IX Item "--show-graph, --hide-graph" ``` ```Show (default) or hide the relative size bar column. Can also be toggled in the ``` ```browser with the 'g' key. ``` ```.IP "\fB\-\-show\-percent\fR, \fB\-\-hide\-percent\fR" 4 ``` ```.IX Item "--show-percent, --hide-percent" ``` ```Show (default) or hide the relative size percent column. Can also be toggled in ``` ```the browser with the 'g' key. ``` ```.IP "\fB\-\-graph\-style\fR \fI\s-1OPTION\s0\fR" 4 ``` ```.IX Item "--graph-style OPTION" ``` ```Change the way that the relative size bar column is drawn. Recognized values ``` ```are \fIhash\fR to draw \s-1ASCII\s0 \f(CW\*(C`#\*(C'\fR characters (default and most portable), ``` ```\&\fIhalf-block\fR to use half-block drawing characters or \fIeighth-block\fR to use ``` ```eighth-block drawing characters. Eighth-block characters are the most precise ``` ```but may not render correctly in all terminals. ``` ```.IP "\fB\-\-shared\-column\fR \fI\s-1OPTION\s0\fR" 4 ``` ```.IX Item "--shared-column OPTION" ``` ```Set to \fIoff\fR to disable the shared size column for directories, \fIshared\fR ``` ```(default) to display shared directory sizes as a separate column or \fIunique\fR ``` ```to display unique directory sizes as a separate column. These options can also ``` ```be cycled through in the browser with the 'u' key. ``` ```.IP "\fB\-\-sort\fR \fI\s-1COLUMN\s0\fR" 4 ``` ```.IX Item "--sort COLUMN" ``` ```Change the default column to sort on. Accepted values are \fIdisk-usage\fR (the ``` ```default), \fIname\fR, \fIapparent-size\fR, \fIitemcount\fR or \fImtime\fR. The latter only ``` ```makes sense in extended mode, see \f(CW\*(C`\-e\*(C'\fR. ``` ```.Sp ``` ```The column can be suffixed with \fI\-asc\fR or \fI\-desc\fR to set the order to ``` ```ascending or descending, respectively. e.g. \f(CW\*(C`\-\-sort=name\-desc\*(C'\fR will sort by ``` ```name in descending order. ``` ```.IP "\fB\-\-group\-directories\-first\fR, \fB\-\-no\-group\-directories\-first\fR" 4 ``` ```.IX Item "--group-directories-first, --no-group-directories-first" ``` ```Sort (or not) directories before files. ``` ```.IP "\fB\-\-confirm\-quit\fR, \fB\-\-no\-confirm\-quit\fR" 4 ``` ```.IX Item "--confirm-quit, --no-confirm-quit" ``` ```Require a confirmation before quitting ncdu. Very helpful when you accidentally ``` ```press 'q' during or after a very long scan. ``` ```.IP "\fB\-\-confirm\-delete\fR, \fB\-\-no\-confirm\-delete\fR" 4 ``` ```.IX Item "--confirm-delete, --no-confirm-delete" ``` ```Require a confirmation before deleting a file or directory. Enabled by default, ``` ```but can be disabled if you're absolutely sure you won't accidentally press 'd'. ``` ```.IP "\fB\-\-color\fR \fI\s-1SCHEME\s0\fR" 4 ``` ```.IX Item "--color SCHEME" ``` ```Select a color scheme. The following schemes are recognized: \fIoff\fR to disable ``` ```colors, \fIdark\fR for a color scheme intended for dark backgrounds and \fIdark-bg\fR ``` ```for a variation of the \fIdark\fR color scheme that also works in terminals with a ``` ```light background. ``` ```.Sp ``` ```The default is \fIdark-bg\fR unless the \f(CW\*(C`NO_COLOR\*(C'\fR environment variable is set. ``` ```.SH "CONFIGURATION" ``` ```.IX Header "CONFIGURATION" ``` ```Ncdu can be configured by placing command-line options in \f(CW\*(C`/etc/ncdu.conf\*(C'\fR or ``` ```\&\f(CW\*(C`\$HOME/.config/ncdu/config\*(C'\fR. If both files exist, the system configuration ``` ```will be loaded before the user configuration, allowing users to override ``` ```options set in the system configuration. Options given on the command line will ``` ```override options set in the configuration files. The files will not be read at ``` ```all when \f(CW\*(C`\-\-ignore\-config\*(C'\fR is given on the command line. ``` ```.PP ``` ```The configuration file format is simply one command line option per line. Lines ``` ```starting with \f(CW\*(C`#\*(C'\fR are ignored. Example configuration file: ``` ```.PP ``` ```.Vb 2 ``` ```\& # Always enable extended mode ``` ```\& \-e ``` ```\& ``` ```\& # Disable file deletion ``` ```\& \-\-disable\-delete ``` ```\& ``` ```\& # Exclude .git directories ``` ```\& \-\-exclude .git ``` ```.Ve ``` ```.SH "KEYS" ``` ```.IX Header "KEYS" ``` ```.IP "\fB?\fR" 4 ``` ```.IX Item "?" ``` ```Show help + keys + about screen ``` ```.IP "\fBup\fR, \fBdown\fR, \fBj\fR, \fBk\fR" 4 ``` ```.IX Item "up, down, j, k" ``` ```Cycle through the items ``` ```.IP "\fBright\fR, \fBenter\fR, \fBl\fR" 4 ``` ```.IX Item "right, enter, l" ``` ```Open selected directory ``` ```.IP "\fBleft\fR, \fB<\fR, \fBh\fR" 4 ``` ```.IX Item "left, <, h" ``` ```Go to parent directory ``` ```.IP "\fBn\fR" 4 ``` ```.IX Item "n" ``` ```Order by filename (press again for descending order) ``` ```.IP "\fBs\fR" 4 ``` ```.IX Item "s" ``` ```Order by filesize (press again for descending order) ``` ```.IP "\fBC\fR" 4 ``` ```.IX Item "C" ``` ```Order by number of items (press again for descending order) ``` ```.IP "\fBa\fR" 4 ``` ```.IX Item "a" ``` ```Toggle between showing disk usage and showing apparent size. ``` ```.IP "\fBM\fR" 4 ``` ```.IX Item "M" ``` ```Order by latest child mtime, or modified time. (press again for descending order) ``` ```Requires the \-e flag. ``` ```.IP "\fBd\fR" 4 ``` ```.IX Item "d" ``` ```Delete the selected file or directory. An error message will be shown when the ``` ```contents of the directory do not match or do not exist anymore on the ``` ```filesystem. ``` ```.IP "\fBt\fR" 4 ``` ```.IX Item "t" ``` ```Toggle dirs before files when sorting. ``` ```.IP "\fBg\fR" 4 ``` ```.IX Item "g" ``` ```Toggle between showing percentage, graph, both, or none. Percentage is relative ``` ```to the size of the current directory, graph is relative to the largest item in ``` ```the current directory. ``` ```.IP "\fBu\fR" 4 ``` ```.IX Item "u" ``` ```Toggle display of the shared / unique size column for directories that share ``` ```hard links. This column is only visible if the current listing contains ``` ```directories with shared hard links. ``` ```.IP "\fBc\fR" 4 ``` ```.IX Item "c" ``` ```Toggle display of child item counts. ``` ```.IP "\fBm\fR" 4 ``` ```.IX Item "m" ``` ```Toggle display of latest child mtime, or modified time. Requires the \-e flag. ``` ```.IP "\fBe\fR" 4 ``` ```.IX Item "e" ``` ```Show/hide 'hidden' or 'excluded' files and directories. Please note that even ``` ```though you can't see the hidden files and directories, they are still there and ``` ```they are still included in the directory sizes. If you suspect that the totals ``` ```shown at the bottom of the screen are not correct, make sure you haven't ``` ```enabled this option. ``` ```.IP "\fBi\fR" 4 ``` ```.IX Item "i" ``` ```Show information about the current selected item. ``` ```.IP "\fBr\fR" 4 ``` ```.IX Item "r" ``` ```Refresh/recalculate the current directory. ``` ```.IP "\fBb\fR" 4 ``` ```.IX Item "b" ``` ```Spawn shell in current directory. ``` ```.Sp ``` ```Ncdu will determine your preferred shell from the \f(CW\*(C`NCDU_SHELL\*(C'\fR or \f(CW\*(C`SHELL\*(C'\fR ``` ```variable (in that order), or will call \f(CW\*(C`/bin/sh\*(C'\fR if neither are set. This ``` ```allows you to also configure another command to be run when he 'b' key is ``` ```pressed. For example, to spawn the \fBvifm\fR\|(1) file manager instead of a shell, ``` ```run ncdu as follows: ``` ```.Sp ``` ```.Vb 2 ``` ```\& export NCDU_SHELL=vifm ``` ```\& ncdu ``` ```.Ve ``` ```.Sp ``` ```Ncdu will set the \f(CW\*(C`NCDU_LEVEL\*(C'\fR environment variable or increment it before ``` ```spawning the shell. This variable allows you to detect when your shell is ``` ```running from within ncdu, which can be useful to avoid nesting multiple ``` ```instances of ncdu. Ncdu itself does not (currently) warn when attempting to run ``` ```nested instances. ``` ```.IP "\fBq\fR" 4 ``` ```.IX Item "q" ``` ```Quit ``` ```.SH "FILE FLAGS" ``` ```.IX Header "FILE FLAGS" ``` ```Entries in the browser interface may be prefixed by a one-character flag. These ``` ```flags have the following meaning: ``` ```.IP "\fB!\fR" 4 ``` ```.IX Item "!" ``` ```An error occurred while reading this directory. ``` ```.IP "\fB.\fR" 4 ``` ```.IX Item "." ``` ```An error occurred while reading a subdirectory, so the indicated size may not be ``` ```correct. ``` ```.IP "\fB<\fR" 4 ``` ```.IX Item "<" ``` ```File or directory is excluded from the statistics by using exclude patterns. ``` ```.IP "\fB>\fR" 4 ``` ```.IX Item ">" ``` ```Directory is on another filesystem. ``` ```.IP "\fB^\fR" 4 ``` ```.IX Item "^" ``` ```Directory is excluded from the statistics due to being a Linux pseudo filesystem. ``` ```.IP "\fB@\fR" 4 ``` ```.IX Item "@" ``` ```This is neither a file nor a folder (symlink, socket, ...). ``` ```.IP "\fBH\fR" 4 ``` ```.IX Item "H" ``` ```Same file was already counted (hard link). ``` ```.IP "\fBe\fR" 4 ``` ```.IX Item "e" ``` ```Empty directory. ``` ```.SH "EXAMPLES" ``` ```.IX Header "EXAMPLES" ``` ```To scan and browse the directory you're currently in, all you need is a simple: ``` ```.PP ``` ```.Vb 1 ``` ```\& ncdu ``` ```.Ve ``` ```.PP ``` ```If you want to scan a full filesystem, your root filesystem, for example, then ``` ```you'll want to use \f(CW\*(C`\-x\*(C'\fR: ``` ```.PP ``` ```.Vb 1 ``` ```\& ncdu \-x / ``` ```.Ve ``` ```.PP ``` ```Since scanning a large directory may take a while, you can scan a directory and ``` ```export the results for later viewing: ``` ```.PP ``` ```.Vb 3 ``` ```\& ncdu \-1xo\- / | gzip >export.gz ``` ```\& # ...some time later: ``` ```\& zcat export.gz | ncdu \-f\- ``` ```.Ve ``` ```.PP ``` ```To export from a cron job, make sure to replace \f(CW\*(C`\-1\*(C'\fR with \f(CW\*(C`\-0\*(C'\fR to suppress ``` ```any unnecessary output. ``` ```.PP ``` ```You can also export a directory and browse it once scanning is done: ``` ```.PP ``` ```.Vb 1 ``` ```\& ncdu \-o\- | tee export.file | ./ncdu \-f\- ``` ```.Ve ``` ```.PP ``` ```The same is possible with gzip compression, but is a bit kludgey: ``` ```.PP ``` ```.Vb 1 ``` ```\& ncdu \-o\- | gzip | tee export.gz | gunzip | ./ncdu \-f\- ``` ```.Ve ``` ```.PP ``` ```To scan a system remotely, but browse through the files locally: ``` ```.PP ``` ```.Vb 1 ``` ```\& ssh \-C user@system ncdu \-o\- / | ./ncdu \-f\- ``` ```.Ve ``` ```.PP ``` ```The \f(CW\*(C`\-C\*(C'\fR option to ssh enables compression, which will be very useful over ``` ```slow links. Remote scanning and local viewing has two major advantages when ``` ```compared to running ncdu directly on the remote system: You can browse through ``` ```the scanned directory on the local system without any network latency, and ncdu ``` ```does not keep the entire directory structure in memory when exporting, so you ``` ```won't consume much memory on the remote system. ``` ```.SH "HARD LINKS" ``` ```.IX Header "HARD LINKS" ``` ```Every disk usage analysis utility has its own way of (not) counting hard links. ``` ```There does not seem to be any universally agreed method of handling hard links, ``` ```and it is even inconsistent among different versions of ncdu. This section ``` ```explains what each version of ncdu does. ``` ```.PP ``` ```ncdu 1.5 and below does not support any hard link detection at all: each link ``` ```is considered a separate inode and its size is counted for every link. This ``` ```means that the displayed directory sizes are incorrect when analyzing ``` ```directories which contain hard links. ``` ```.PP ``` ```ncdu 1.6 has basic hard link detection: When a link to a previously encountered ``` ```inode is detected, the link is considered to have a file size of zero bytes. ``` ```Its size is not counted again, and the link is indicated in the browser ``` ```interface with a 'H' mark. The displayed directory sizes are only correct when ``` ```all links to an inode reside within that directory. When this is not the case, ``` ```the sizes may or may not be correct, depending on which links were considered ``` ```as \*(L"duplicate\*(R" and which as \*(L"original\*(R". The indicated size of the topmost ``` ```directory (that is, the one specified on the command line upon starting ncdu) ``` ```is always correct. ``` ```.PP ``` ```ncdu 1.7 and later has improved hard link detection. Each file that has more ``` ```than two links has the \*(L"H\*(R" mark visible in the browser interface. Each hard ``` ```link is counted exactly once for every directory it appears in. The indicated ``` ```size of each directory is therefore, correctly, the sum of the sizes of all ``` ```unique inodes that can be found in that directory. Note, however, that this may ``` ```not always be same as the space that will be reclaimed after deleting the ``` ```directory, as some inodes may still be accessible from hard links outside it. ``` ```.SH "BUGS" ``` ```.IX Header "BUGS" ``` ```Directory hard links and firmlinks (MacOS) are not supported. They will not be ``` ```detected as being hard links, and may thus be scanned and counted multiple ``` ```times. ``` ```.PP ``` ```Some minor glitches may appear when displaying filenames that contain multibyte ``` ```or multicolumn characters. ``` ```.PP ``` ```The unique and shared directory sizes are calculated based on the assumption ``` ```that the link count of hard links does not change during a filesystem scan or ``` ```in between refreshes. If it does, for example after deleting a hard link, then ``` ```these numbers will be very much incorrect and a full refresh by restarting ncdu ``` ```is needed to get correct numbers again. ``` ```.PP ``` ```All sizes are internally represented as a signed 64bit integer. If you have a ``` ```directory larger than 8 EiB minus one byte, ncdu will clip its size to 8 EiB ``` ```minus one byte. When deleting or refreshing items in a directory with a clipped ``` ```size, the resulting sizes will be incorrect. Likewise, item counts are stored ``` ```in a 32\-bit integer, so will be incorrect in the unlikely event that you happen ``` ```to have more than 4 billion items in a directory. ``` ```.PP ``` ```Please report any other bugs you may find at the bug tracker, which can be ``` ```found on the web site at https://dev.yorhel.nl/ncdu ``` ```.SH "AUTHOR" ``` ```.IX Header "AUTHOR" ``` ```Written by Yoran Heling . ``` ```.SH "SEE ALSO" ``` ```.IX Header "SEE ALSO" ``` ```\&\fBdu\fR\|(1) ```