dwww Home | Manual pages | Find package

NCDU(1)                      General Commands Manual                    NCDU(1)

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 stan-
               dard 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 be-
               ing 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 stan-
               dard output.  See the examples section below for some handy  use
               cases.

               Be  warned  that the exported data may grow quite large when ex-
               porting a directory with many files.  10.000 files will get  you
               an export in the order of 600 to 700 KiB uncompressed, or a lit-
               tle  over  100  KiB when compressed with gzip.  This scales lin-
               early, 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 addi-
               tion 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 informa-
               tion 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 im-
       porting 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  statis-
               tics.   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  fu-
               ture.

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

               The complete list of  currently  known  pseudo  filesystems  is:
               binfmt, bpf, cgroup, cgroup2, debug, devpts, proc, pstore, secu-
               rity, 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  sec-
               onds  with  -q or --slow-ui-updates.  This option can be used to
               save bandwidth over remote connections.  This option has no  ef-
               fect 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 fea-
               ture 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  direc-
               tory 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 tog-
               gled 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 op-
               tion 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.  Rec-
               ognized values are hash to draw ASCII  '#'  characters  (default
               and most portable), half-block to use half-block drawing charac-
               ters  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.  En-
               abled  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 configu-
       ration 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 com-
       mand 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.   Per-
               centage  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.   Re-
               quires 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  directo-
               ries,  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 en-
               abled 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 com-
               mand 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 run-
               ning from within ncdu.  This can be useful to avoid nesting mul-
               tiple 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  ex-
               clude 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 direc-
       tory 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  re-
       mote 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 mul-
       tiple 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)

Generated by dwww version 1.16 on Tue Dec 16 06:23:58 CET 2025.