Provided by: ncdu_1.22-1_amd64 bug

NAME

       ncdu — NCurses Disk Usage

SYNOPSIS

       ncdu     [-f     file]     [-o     file]     [-e,     --extended,     --no-extended]    [--ignore-config]
            [-x,  --one-file-system,  --cross-file-system]  [--exclude  pattern]   [-X,   --exclude-from   file]
            [--include-caches,      --exclude-caches]      [-L,     --follow-symlinks,     --no-follow-symlinks]
            [--include-kernfs,  --exclude-kernfs]  [--exclude-firmlinks,  --follow-firmlinks]   [-0,   -1,   -2]
            [-q,       --slow-ui-updates,       --fast-ui-updates]       [--enable-shell,       --disable-shell]
            [--enable-delete,  --disable-delete]  [--enable-refresh,  --disable-refresh]  [-r]  [--si,  --no-si]
            [--disk-usage,  --apparent-size] [--show-hidden, --hide-hidden] [--show-itemcount, --hide-itemcount]
            [--show-mtime,   --hide-mtime]   [--show-graph,   --hide-graph]   [--show-percent,   --hide-percent]
            [--graph-style       hash      |      half-block      |      eighth-block]      [--sort      column]
            [--enable-natsort,  --disable-natsort]   [--group-directories-first,   --no-group-directories-first]
            [--confirm-quit,          --no-confirm-quit]         [--confirm-delete,         --no-confirm-delete]
            [--color off | dark | dark-bg] [path]
       ncdu [-h, --help]
       ncdu [-v, -V, --version]

DESCRIPTION

       ncdu (NCurses Disk Usage) is an interactive curses-based version of the well-known du(1), and provides  a
       fast way to see what directories are using your disk space.

OPTIONS

   Mode Selection
       -h, --help
               Print a short help message and quit.

       -v, -V, --version
               Print version and quit.

       -f file
               Load  the  given file, which has earlier been created with the -o flag.  If file is equivalent to
               '-', 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.

       dir     Scan the given directory.

       -o file
               Export all necessary information to file instead of opening the browser interface.   If  file  is
               '-',  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.

       -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.

               When  using  the  file  export/import function, this flag should 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.

       --ignore-config
               Do not attempt to load any configuration files.

   Scan Options
       These options affect the scanning progress, they have no effect when importing directory information from
       a file.

       -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.

       --cross-file-system
               Do cross filesystem boundaries.  This is  the  default,  but  can  be  specified  to  overrule  a
               previously configured -x.

       --exclude pattern
               Exclude  files that match pattern.  The files are still displayed by default, but are not counted
               towards the disk usage statistics.  This argument  can  be  added  multiple  times  to  add  more
               patterns.

       -X, --exclude-from file
               Exclude files that match any pattern in file.  Patterns should be separated by a newline.

       --include-caches, --exclude-caches
               Include (default) or exclude directories containing CACHEDIR.TAG.  Excluded cache directories are
               still  displayed,  but  their  contents  will  not  be  scanned or counted towards the disk usage
               statistics.  https://bford.info/cachedir/

       -L, --follow-symlinks, --no-follow-symlinks
               Follow (or not) symlinks and count the size of the file they point  to.   This  option  does  not
               follow  symlinks  to  directories  and  will cause each symlinked file to count as a unique file.
               This is different from how hard links are handled.  The exact counting behavior of this  flag  is
               subject to change in the future.

       --include-kernfs, --exclude-kernfs
               (Linux  only)  Include  (default)  or exclude Linux pseudo filesystems such as /proc (procfs) and
               /sys (sysfs).

               The complete list of currently known pseudo filesystems is: binfmt, bpf, cgroup, cgroup2,  debug,
               devpts, proc, pstore, security, selinux, sys, trace.

       --exclude-firmlinks, --follow-firmlinks
               (MacOS only) Exclude or follow firmlinks.

   Interface Options
       -0      Don't give any feedback while scanning a directory or importing a file, except when a fatal error
               occurs.   Ncurses  will  not  be initialized until the scan is complete.  When exporting the data
               with -o, ncurses will not be initialized at all.  This option is the default  when  exporting  to
               standard output.

       -1      Write progress information to the terminal, but don't open a full-screen ncurses interface.  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,  -2  is  usually  a
               better choice.

       -2      Show 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.

       -q, --slow-ui-updates, --fast-ui-updates
               Change  the  UI  update interval while scanning or importing.  ncdu updates the screen 10 times a
               second by default (with --fast-ui-updates ), this can be decreased to once every 2  seconds  with
               -q  or  --slow-ui-updates.   This  option  can be used to save bandwidth over remote connections.
               This option has no effect in combination with -0.

       --enable-shell, --disable-shell
               Enable or disable shell spawning from the file browser.  This feature is enabled by default  when
               scanning a live directory and disabled when importing from file.

       --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.

       --enable-refresh, --disable-refresh
               Enable or disable directory refreshing from the file browser.  This feature is enabled by default
               when scanning a live directory and disabled when importing from file.

       -r      Read-only mode.  When given once, this is an alias for --disable-delete, when given twice it will
               also  add  --disable-shell,  thus  ensuring  that  there is no way to modify the file system from
               within ncdu.

       --si, --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 (KiB, MiB, etc).

       --disk-usage, --apparent-size
               Select  whether  to  display  disk usage (default) or apparent sizes.  Can also be toggled in the
               file browser with the 'a' key.

       --show-hidden, --hide-hidden
               Show (default) or hide "hidden" and excluded files.  Can also be toggled in the file browser with
               the 'e' key.

       --show-itemcount, --hide-itemcount
               Show or hide (default) the item counts column.  Can also be toggled in the file browser with  the
               'c' key.

       --show-mtime, --hide-mtime
               Show  or  hide  (default)  the  last  modification  time column.  Can also be toggled in the file
               browser with the 'm' key.  This option is ignored when not in extended mode, see -e.

       --show-graph, --hide-graph
               Show (default) or hide the relative size bar column.  Can also be toggled  in  the  file  browser
               with the 'g' key.

       --show-percent, --hide-percent
               Show (default) or hide the relative size percent column.  Can also be toggled in the file browser
               with the 'g' key.

       --graph-style hash | half-block | eighth-block
               Change  the  way  that the relative size bar column is drawn.  Recognized values are hash to draw
               ASCII '#' characters (default and most portable), half-block to use half-block drawing characters
               or eighth-block to use eighth-block drawing characters.  Eighth-block  characters  are  the  most
               precise but may not render correctly in all terminals.

       --sort column
               Change  the  default  column  to  sort  on.   Accepted values are disk-usage (the default), name,
               apparent-size, itemcount or mtime.  The latter only makes sense in extended mode, see -e.

               The column name can be suffixed  with  -asc  or  -desc  to  change  the  order  to  ascending  or
               descending, respectively.  For example, --sort=name-desc to sort by name in descending order.

       --enable-natsort, --disable-natsort
               Enable (default) or disable natural sort when sorting by file name.

       --group-directories-first, --no-group-directories-first
               Sort (or not) directories before files.

       --confirm-quit, --no-confirm-quit
               Require  a  confirmation  before  quitting  ncdu.  Can be helpful when you accidentally press 'q'
               during or after a very long scan.

       --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'.

       --color off | dark | dark-bg
               Set  the  color  scheme.  The following schemes are recognized: off to disable colors, dark for a
               color scheme intended for dark backgrounds and dark-bg for a variation of the dark  color  scheme
               that also works in terminals with a light background.

               The default is off.

CONFIGURATION

       ncdu  can  be  configured by placing command-line options in /etc/ncdu.conf or $HOME/.config/ncdu/config.
       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  --ignore-config
       is given on the command line.

       The  configuration  file  format is simply one command line option per line.  Lines starting with '#' are
       ignored.  A line can be prefixed  with  '@'  to  suppress  errors  while  parsing  the  option.   Example
       configuration file:

             # Always enable extended mode
             -e

             # Disable file deletion
             --disable-delete

             # Exclude .git directories
             --exclude .git

             # Read excludes from ~/.ncduexcludes, ignore error if the file does not exist
             @--exclude-from ~/.ncduexcludes

KEYS

       ?       Open help + keys + about screen

       up, down, j, k
               Cycle through the items

       right, enter, l
               Open selected directory

       left, <, h
               Go to parent directory

       n       Order by filename (press again for descending order)

       s       Order by filesize (press again for descending order)

       C       Order by number of items (press again for descending order)

       a       Toggle between showing disk usage and showing apparent size.

       M       Order  by  latest child mtime, or modified time (press again for descending order).  Requires the
               -e flag.

       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.

       t       Toggle dirs before files when sorting.

       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.

       c       Toggle display of child item counts.

       m       Toggle display of latest child mtime, or modified time.  Requires the -e flag.

       e       Show/hide 'hidden' or 'excluded' files and directories.  Be aware that even if 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.

       i       Show information about the current selected item.

       r       Refresh/recalculate the current directory.

       b       Spawn shell in current directory.

               ncdu  determines  your preferred shell from the NCDU_SHELL or SHELL environment variable (in that
               order), or calls /bin/sh 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 vifm(1) file manager instead of
               a shell, run ncdu as follows:
                     NCDU_SHELL=vifm ncdu
               The NCDU_LEVEL environment variable is set or incremented before spawning the shell, allowing you
               to detect if your shell is running from within  ncdu.   This  can  be  useful  to  avoid  nesting
               multiple  instances,  although  ncdu  itself  does  not  (currently)  warn  about or prevent this
               situation.

       q       Quit

FILE FLAGS

       Entries in the browser interface may be prefixed by a one-character flag.  These flags have the following
       meaning:

       !       An error occurred while reading this directory.

       .       An error occurred while reading a subdirectory, so the indicated size may not be correct.

       <       File or directory is excluded from the statistics by using exclude patterns.

       >       Directory is on another filesystem.

       ^       Directory is excluded from the statistics due to being a Linux pseudo filesystem.

       @       This is neither a file nor a folder (symlink, socket, ...).

       H       Same file was already counted (hard link).

       e       Empty directory.

EXAMPLES

       To scan and browse the directory you're currently in, all you need is a simple:
             ncdu
       To scan a full filesystem, for example your root filesystem, you'll want to use -x:
             ncdu -x /

       Since scanning a large directory may take a while, you can scan a directory and export  the  results  for
       later viewing:

             ncdu -1xo- / | gzip >export.gz
             # ...some time later:
             zcat export.gz | ncdu -f-
       To export from a cron job, make sure to replace -1 with -0 to suppress unnecessary progress output.

       You can also export a directory and browse it once scanning is done:
             ncdu -o- | tee export.file | ./ncdu -f-
       The same is possible with gzip compression, but is a bit kludgey:

             ncdu -o- | gzip | tee export.gz | gunzip | ./ncdu -f-
       To scan a system remotely, but browse through the files locally:
             ssh -C user@system ncdu -o- / | ./ncdu -f-
       The -C 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 this won't consume much memory on
       the remote system.

SEE ALSO

       du(1), tree(1).

       ncdu has a website: https://dev.yorhel.nl/ncdu

AUTHORS

       Written by Yorhel <projects@yorhel.nl>

BUGS

       Directory hard links are not supported.  They are not detected as being hard links,  and  will  thus  get
       scanned and counted multiple times.

       Some  minor  glitches  may  appear  when  displaying  filenames  that  contain  multibyte  or multicolumn
       characters.

       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.  Item counts are stored  in  a
       32-bit integer without overflow detection.  If you have a directory with more than 2 billion files, quite
       literally anything can happen.

       On  macOS  10.15  and  later,  running  ncdu  on the root directory without --exclude-firmlinks may cause
       directories to be scanned and counted multiple times.  Firmlink cycles are not detected, so it  may  also
       cause ncdu to get stuck in an infinite loop and eventually run out of memory.

       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

Debian                                            March 5, 2025                                          NCDU(1)