Skip to content
dirstat scan
Edit
On this page

Summarize the files under a directory tree, grouped by format, with counts, sizes, and lines of code as terminal tables or JSON.

#dirstat scan

Summarize the files under a directory tree, grouped by format, with counts, sizes, and lines of code as terminal tables or JSON.

Effect: read_only

#Flags

Flags
NameShortTypePresenceEnvDescription
--methodstrdefault: hybridhow each scanned file's format group is decided before it is counted Values: ext (group by extension only, sniffing nothing), type (content-sniff every file), hybrid (trust known text extensions, content-sniff everything else).
--formatsstrdefault: rawhow the chosen group's name is spelled before files are counted under it Values: raw (the extension or sniffed MIME type exactly as it came out), canonical (merge alias formats (mjs into js, h into c) and name extensionless scripts by their shebang interpreter).
--depthintdefault: -1maximum directory depth below the root; -1 = unlimited; the root is depth 0
--excludelist[str] (unique)default: [".git", "node_modules", ".venv", "vendor", "build", "dist", "target", "zig-out", "zig-pkg", ".next", ".svelte-kit", "__pycache__", ".mypy_cache", ".ruff_cache", ".pytest_cache", ".hypothesis", ".gradle", ".idea", ".wrangler", ".vscode"]exact base name to skip, matching directories and files; repeatable; passing the flag replaces the built-in default list entirely
--configstrdefault: ``path to a TOML scan-config file (keys: exclude, method, formats, depth, ignored, hidden, type, stats, sort_by, sort_order); never auto-discovered; a key set both in the file and on the command line is an error
--ignoredstrdefault: excludegitignored-path handling; outside a git work tree, exclude and only behave as if no patterns exist Values: include (no gitignore matching at all), exclude (drop the paths git ignores), only (keep only the paths git ignores).
--hiddenstrdefault: includedot-prefixed entry handling; the root directory itself is never treated as hidden Values: include (walk into dot-prefixed entries), exclude (skip dot-prefixed entries).
--statslist[str] (unique)optionalstat to compute and show (repeatable): count, total-size, min-size, max-size, avg-size, total-loc, min-loc, max-loc, avg-loc; omitted, every stat is shown
--typestrdefault: bothfilter the reported groups by their text/binary classification Values: text (keep the text groups), binary (keep the binary groups), both (keep every group).
--sort-bylist[str] (unique)default: ["count"]sort column, in precedence order when repeated: format, count, total-size, min-size, max-size, avg-size, total-loc, min-loc, max-loc, avg-loc
--sort-orderstrdefault: descsort direction, applied uniformly to every --sort-by column Values: asc (smallest first), desc (largest first).
--topintdefault: -1keep only the first N groups after sorting (table output only); -1 or 0 = all
--showstrdefault: bothwhich sections the human table output renders; ignored in machine mode Values: summary (the summary section alone), table (the format tables alone), both (the summary and the tables).
--combined, --no-combinedbooldefault: truerender one merged table with text and binary rows distinguished by color, instead of separate text/binary tables
--singletonsstrdefault: showhow one-file formats are rendered (table output only) Values: show (one row per one-file format, as-is), collapse (one (singletons) row standing for all of them).
--list-no-ext, --no-list-no-extbooldefault: falselist the paths of extensionless files (a section in table output, a field in JSON output)
--legend, --no-legendbooldefault: trueshow the text/binary color legend under the combined table (needs active colors)
--colors, --no-colorsbooldefault: trueuse ANSI colors; auto-disabled when stdout is not a TTY
--human, --no-humanbooldefault: truehuman-readable sizes and thousands separators (table output only)
--stylestrdefault: unicodewhich character set the human table's borders are drawn with Values: unicode (unicode box-drawing borders), ascii (plain ASCII borders).

#Arguments

Arguments
NameTypePresenceDescription
wherestrdefault: .directory to summarize; omitted, the current directory
Search