NCDU(1) General Commands Manual NCDU(1)

ncdu — ابزار بررسی میزان مصرف دیسک با ان‌کرسز (NCurses Disk Usage)

ncdu [-f file] [-o 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] [-t, --threads num] [-c, --compress, --no-compress] [--compress-level num] [--export-block-size num] [-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] [--shared-column off | shared | unique] [--sort column] [--enable-natsort, --disable-natsort] [--group-directories-first, --no-group-directories-first] [--confirm-quit, --no-confirm-quit] [--confirm-delete, --no-confirm-delete] [--delete-command command] [--color off | dark | dark-bg] [path] ncdu [-h, --help] ncdu [-v, -V, --version]

برنامهٔ ncdu (NCurses Disk Usage) یک نسخهٔ تعاملی مبتنی بر curses از ابزار نام‌آشنای du(1) است و روشی سریع برای دیدن دایرکتوری‌هایی که فضای دیسک شما را مصرف می‌کنند فراهم می‌کند.

, --help
چاپ پیام راهنمای کوتاه و خروج.
, -V, --version
چاپ نسخه و خروج.
file
بارگذاری فایل مشخص‌شده که پیش‌تر با نشان -o یا -O ایجاد شده است. اگر file برابر با '-' باشد، فایل از ورودی استاندارد خوانده می‌شود. خواندن از ورودی استاندارد تنها برای قالب JSON پشتیبانی می‌شود.

به منظور جلوگیری از اشتباه و خرابی‌های ناخواسته، نسخهٔ فعلی ncdu فرض می‌کند اطلاعات دایرکتوری درون فایل واردشده، نمایانگر فایل‌سیستمی که فایل در آن وارد می‌شود نیست. بدین معنی که گزینه‌های نوسازی (refresh)، حذف فایل و اجرای پوسته در مرورگر غیرفعال خواهند شد.

dir
پویش دایرکتوری داده‌شده.
file
برون‌بری درخت دایرکتوری در قالب JSON به file به‌جای باز کردن رابط کاربری مرورگر. اگر file برابر با '-' باشد، داده‌ها در خروجی استاندارد نوشته می‌شوند. برای دیدن چند مورد کاربردی، بخش مثال‌ها در ادامه را ببینید.

توجه داشته باشید که هنگام برون‌بری دایرکتوری با تعداد فایل‌های زیاد، داده‌های برون‌بری‌شده ممکن است بسیار حجیم شوند. ۱۰٫۰۰۰ فایل خروجی‌ای در حدود ۶۰۰ تا ۷۰۰ کیبی‌بایت (KiB) فشرده‌نشده، یا کمی بیش از ۱۰۰ کیبی‌بایت در صورت فشرده‌سازی با gzip ایجاد می‌کند. این مقدار به‌صورت خطی افزایش می‌یابد، بنابراین هنگام کار با میلیون‌ها فایل آمادهٔ مدیریت چند ده مگابایت باشید.

برای تولید خروجی JSON فشرده‌شده با Zstandard، فعال‌سازی -c را مد نظر داشته باشید، چرا که می‌تواند حجم داده‌های برون‌بری‌شده را به‌میزان چشمگیری کاهش دهد.

هنگام اجرای یک پویش چندنخی (multi-threaded) یا پویش درخت دایرکتوری‌ای که ممکن است در حافظه جا نشود، استفاده از -O را به‌جای آن مد نظر قرار دهید.

file
برون‌بری درخت دایرکتوری در قالب باینری به file به‌جای باز کردن رابط کاربری مرورگر. اگر file برابر با '-' باشد، داده‌ها در خروجی استاندارد نوشته می‌شوند. قالب باینری دارای فشرده‌سازی درونی است، از برون‌بری چندنخی با مصرف حافظهٔ کم (در ترکیب با -t) پشتیبانی می‌کند و بدون نیاز به وارد کردن تمام درخت دایرکتوری در حافظه، قابل مرور است.
, --extended, --no-extended
فعال/غیرفعال کردن حالت اطلاعات گسترش‌یافته. این گزینه افزون بر اطلاعات معمول فایل، مالکیت، دسترسی‌ها و زمان آخرین تغییر را نیز برای هر فایل می‌خواند. این کار منجر به مصرف بیشتر حافظه (تقریباً حدود ۳۰٪) و فایلی بزرگ‌تر هنگام برون‌بری می‌شود.

هنگام استفاده از قابلیت برون‌بری/درون‌بری فایل، این نشان باید هم هنگام برون‌بری (جهت اطمینان از افزوده‌شدن اطلاعات به خروجی) و هم هنگام درون‌بری (جهت خواندن این اطلاعات اضافی در حافظه) داده شود. این نشان هنگام درون‌بری فایلی که بدون اطلاعات گسترش‌یافته برون‌بری شده، هیچ اثری ندارد.

این گزینه امکان مشاهده و مرتب‌سازی بر اساس تازه‌ترین زمان تغییر (mtime) فرزندان را با استفاده از 'm' و 'M' فراهم می‌کند.

هیچ تلاشی برای بارگذاری فایل‌های پیکربندی صورت نگیرد.

این گزینه‌ها روند پویش را تحت تأثیر قرار می‌دهند؛ هنگام درون‌بری اطلاعات دایرکتوری از یک فایل، اثری ندارند.

, --one-file-system
از مرزهای فایل‌سیستم عبور نکن؛ یعنی فقط فایل‌ها و دایرکتوری‌های موجود روی همان فایل‌سیستمی که دایرکتوری در حال پویش روی آن قرار دارد را بشمار.
از مرزهای فایل‌سیستم عبور کن. این حالت پیش‌فرض است، اما می‌تواند برای باطل کردن -x تنظیم‌شدهٔ قبلی مشخص شود.
pattern
فایل‌هایی را که با pattern همخوانی دارند مستثنی کن. این فایل‌ها همچنان به‌طور پیش‌فرض نمایش داده می‌شوند، اما در آمار مصرف دیسک شمرده نمی‌شوند. این آرگومان می‌تواند چند بار برای افزودن الگوهای بیشتر تکرار شود.
, --exclude-from file
فایل‌هایی را که با هر الگویی در file همخوانی دارند مستثنی کن. الگوها باید با خط جدید (newline) از یکدیگر جدا شوند.
, --exclude-caches
شامل کردن (پیش‌فرض) یا مستثنی کردن دایرکتوری‌های حاوی CACHEDIR.TAG. دایرکتوری‌های حافظهٔ موقت مستثنی‌شده همچنان نمایش داده می‌شوند، اما محتوای آن‌ها پویش نشده و در آمار مصرف دیسک شمرده نخواهد شد. https://bford.info/cachedir
, --follow-symlinks, --no-follow-symlinks
پیوندهای نمادین (symlinks) را دنبال کن (یا نکن) و اندازهٔ فایلی را که به آن اشاره می‌کنند حساب کن. این گزینه پیوندهای نمادین به دایرکتوری‌ها را دنبال نمی‌کند و باعث می‌شود هر فایل پیوندشده به‌عنوان یک فایل یکتا شمرده شود. این رفتار با نحوهٔ رفتار با پیوندهای سخت (hard links) متفاوت است. رفتار دقیق شمارش این نشان در آینده ممکن است تغییر کند.
, --exclude-kernfs
(فقط لینوکس) شامل کردن (پیش‌فرض) یا مستثنی کردن شبه‌فایل‌سیستم‌های لینوکس نظیر /proc (procfs) و /sys (sysfs).

فهرست کامل شبه‌فایل‌سیستم‌های شناخته‌شدهٔ فعلی عبارت است از: binfmt, bpf, cgroup, cgroup2, debug, devpts, proc, pstore, security, selinux, sys, trace.

, --threads num
تعداد نخ‌های مورد استفاده هنگام پویش فایل‌سیستم؛ پیش‌فرض ۱ است.

در حالت تک‌نخی، برون‌بری JSON (ببینید -o) می‌تواند با حافظهٔ بسیار کمی کار کند، اما در حالت چندنخی ابتدا کل درخت دایرکتوری در حافظه ساخته شده و پس از پایان پویش فایل‌سیستم ذخیره می‌شود. این امر موجب ایجاد تاخیر در خروجی شده و برای درخت‌های دایرکتوری بزرگ به حافظهٔ بسیار بیشتری نیاز دارد. قالب باینری (ببینید -O) این مشکل را ندارد و از برون‌بری کارآمد با هر تعداد نخی پشتیبانی می‌کند.

این گزینه‌ها بر رفتار برنامه هنگام برون‌بری در فایل با گزینه‌های -o یا -O تأثیر می‌گذارند.

, --compress, --no-compress
فعال یا غیرفعال کردن فشرده‌سازی Zstandard هنگام برون‌بری به JSON (ببینید -o).
num
تنظیم سطح فشرده‌سازی Zstandard هنگام استفاده از -O یا -c. مقادیر معتبر از ۱ (سریع‌ترین) تا ۱۹ (کندترین) هستند. پیش‌فرض ۴ است.
num
تنظیم اندازهٔ بلوک، بر حسب کیبی‌بایت، برای قالب برون‌بری باینری (ببینید -O). بلوک‌های بزرگ‌تر به حافظهٔ بیشتری نیاز دارند اما منجر به بهره‌وری فشرده‌سازی بهتری می‌شوند. این گزینه می‌تواند با مقدار بالاتری از --compress-level برای دستیابی به فشرده‌سازی حتی بهتر ترکیب شود.

مقادیر قابل‌قبول بین ۴ و ۱۶۰۰۰ هستند. پیش‌فرض این است که با ۶۴ کیبی‌بایت شروع شود و سپس برای خروجی‌های بزرگ اندازهٔ بلوک به‌تدریج افزایش یابد.

هنگام پویش یک دایرکتوری یا درون‌بری یک فایل، هیچ بازخوردی ارائه نده، مگر زمانی که خطایی مرگبار رخ دهد. رابط ncurses تا زمان اتمام پویش مقداردهی اولیه نخواهد شد. هنگام برون‌بری داده‌ها با -o -، رابط ncurses اصلاً مقداردهی اولیه نمی‌شود. این گزینه هنگام برون‌بری به خروجی استاندارد، پیش‌فرض است.
اطلاعات پیشرفت را در ترمینال بنویس، اما یک رابط تمام‌صفحهٔ ncurses باز نکن. این گزینه هنگام برون‌بری در یک فایل، پیش‌فرض است.

در برخی موارد، ممکن است رابط کاربری مرورگر ncurses که پس از پایان پویش/درون‌بری مشاهده می‌کنید، هنگام استفاده از این گزینه به‌هم‌ریخته به نظر برسد. اگر در حال برون‌بری به فایل نیستید، -2 معمولاً انتخاب بهتری است.

هنگام پویش یک دایرکتوری یا درون‌بری یک فایل، یک رابط تمام‌صفحهٔ ncurses نمایش بده. این تنها رابطی است که هنگام پویش دربارهٔ خطاهای غیرمرگبار بازخورد ارائه می‌دهد.
, --slow-ui-updates, --fast-ui-updates
تغییر بازهٔ زمانی به‌روزرسانی رابط کاربری حین پویش یا درون‌بری. برنامهٔ ncdu به‌طور پیش‌فرض صفحه را ۱۰ بار در ثانیه به‌روزرسانی می‌کند (با --fast-ui-updates )؛ این مقدار می‌تواند با -q یا --slow-ui-updates به یک بار در هر ۲ ثانیه کاهش یابد. این گزینه می‌تواند برای صرفه‌جویی در پهنای باند روی اتصالات دوردست به کار رود. این گزینه در ترکیب با -0 اثری ندارد.
, --disable-shell
فعال یا غیرفعال کردن اجرای پوسته از مرورگر فایل. این ویژگی به‌طور پیش‌فرض هنگام پویش یک دایرکتوری زنده فعال و هنگام درون‌بری از فایل غیرفعال است.
, --disable-delete
فعال یا غیرفعال کردن ویژگی داخلی حذف فایل. این ویژگی به‌طور پیش‌فرض هنگام پویش یک دایرکتوری زنده فعال و هنگام درون‌بری از فایل غیرفعال است. غیرفعال کردن صریح ویژگی حذف می‌تواند به‌عنوان یک اقدام احتیاطی برای جلوگیری از حذف تصادفی داده‌ها عمل کند.
, --disable-refresh
فعال یا غیرفعال کردن نوسازی (refresh) دایرکتوری از مرورگر فایل. این ویژگی به‌طور پیش‌فرض هنگام پویش یک دایرکتوری زنده فعال و هنگام درون‌بری از فایل غیرفعال است.
حالت فقط‌خواندنی. وقتی یک‌بار داده شود، نام مستعاری برای --disable-delete است؛ اگر دوبار داده شود، --disable-shell را نیز می‌افزاید و به این ترتیب اطمینان حاصل می‌شود که هیچ راهی برای تغییر فایل‌سیستم از درون ncdu وجود ندارد.
, --no-si
فهرست کردن اندازه‌ها با استفاده از پیشوندهای پایهٔ ۱۰، یعنی توان‌های ۱۰۰۰ (kB، MB و غیره) طبق تعریف دستگاه بین‌المللی یکاها (SI)، به‌جای پیشوندهای معمول پایهٔ ۲ (KiB، MiB و غیره).
, --apparent-size
انتخاب نمایش فضای مصرفی دیسک (پیش‌فرض) یا اندازه‌های ظاهری. همچنین می‌تواند در مرورگر فایل با کلید 'a' تغییر وضعیت داده شود.
, --hide-hidden
نمایش (پیش‌فرض) یا پنهان کردن فایل‌های «پنهان» و مستثنی‌شده. همچنین می‌تواند در مرورگر فایل با کلید 'e' تغییر وضعیت داده شود.
, --hide-itemcount
نمایش یا پنهان کردن (پیش‌فرض) ستون تعداد اقلام. همچنین می‌تواند در مرورگر فایل با کلید 'c' تغییر وضعیت داده شود.
, --hide-mtime
نمایش یا پنهان کردن (پیش‌فرض) ستون زمان آخرین تغییر. همچنین می‌تواند در مرورگر فایل با کلید 'm' تغییر وضعیت داده شود. این گزینه زمانی که در حالت گسترش‌یافته نیستید نادیده گرفته می‌شود؛ ببینید -e.
, --hide-graph
نمایش (پیش‌فرض) یا پنهان کردن ستون نوار اندازهٔ نسبی. همچنین می‌تواند در مرورگر فایل با کلید 'g' تغییر وضعیت داده شود.
, --hide-percent
نمایش (پیش‌فرض) یا پنهان کردن ستون درصد اندازهٔ نسبی. همچنین می‌تواند در مرورگر فایل با کلید 'g' تغییر وضعیت داده شود.
hash | half-block | eighth-block
تغییر شیوهٔ رسم ستون نوار اندازهٔ نسبی. مقادیر شناخته‌شده عبارتند از hash برای رسم نویسه‌های '#' در اسکی (پیش‌فرض و بیشترین سازگاری)، half-block برای استفاده از نویسه‌های رسم نیم‌بلوک، یا eighth-block برای استفاده از نویسه‌های رسم یک‌هشتم‌بلوک. نویسه‌های یک‌هشتم‌بلوک دقیق‌ترین هستند اما ممکن است در تمام ترمینال‌ها به‌درستی نمایش داده نشوند.
off | shared | unique
تنظیم روی off برای غیرفعال کردن ستون اندازهٔ مشترک برای دایرکتوری‌ها، shared (پیش‌فرض) برای نمایش اندازه‌های اشتراکی دایرکتوری در یک ستون مجزا، یا unique برای نمایش اندازه‌های یکتای دایرکتوری در یک ستون مجزا. بین این گزینه‌ها می‌توان در مرورگر فایل با کلید 'u' نیز به‌صورت چرخشی جابه‌جا شد.
column
تغییر ستون پیش‌فرض برای مرتب‌سازی. مقادیر پذیرفته‌شده عبارتند از disk-usage (پیش‌فرض)، name ، apparent-size ، itemcount یا mtime. مورد آخر تنها در حالت گسترش‌یافته کاربرد دارد؛ ببینید -e.

نام ستون می‌تواند با پسوند -asc یا -desc همراه شود تا ترتیب را به‌ترتیب به صعودی یا نزولی تغییر دهد. برای نمونه، --sort=name-desc برای مرتب‌سازی بر اساس نام به‌صورت نزولی.

, --disable-natsort
فعال کردن (پیش‌فرض) یا غیرفعال کردن مرتب‌سازی طبیعی (natural sort) هنگام مرتب‌سازی بر اساس نام فایل.
, --no-group-directories-first
مرتب کردن (یا نکردن) دایرکتوری‌ها پیش از فایل‌ها.
, --no-confirm-quit
الزام به تأیید پیش از خروج از ncdu. می‌تواند هنگامی مفید باشد که در حین یا پس از یک پویش بسیار طولانی، به‌طور تصادفی کلید 'q' را فشار می‌دهید.
, --no-confirm-delete
الزام به تأیید پیش از حذف یک فایل یا دایرکتوری. به‌طور پیش‌فرض فعال است، اما اگر کاملاً مطمئن هستید که هرگز تصادفاً کلید 'd' را فشار نمی‌دهید، می‌تواند غیرفعال شود.
command
هنگامی که روی یک رشتهٔ غیرخالی تنظیم شود، ویژگی داخلی حذف فایل با یک دستور سفارشی پوسته جایگزین می‌شود.

مسیر مطلق موردی که باید حذف شود به انتهای دستور داده‌شده ضمیمه شده و نتیجه در یک پوسته ارزیابی می‌شود. دستور از همان دایرکتوری‌ای اجرا می‌شود که ncdu از آن اجرا شده است. متغیر محیطی NCDU_DELETE_PATH روی مسیر مطلق موردی که باید حذف شود تنظیم می‌گردد و NCDU_LEVEL به همان شیوه‌ای که هنگام باز کردن یک پوسته از درون ncdu رفتار می‌شود، مقداردهی می‌گردد.

پس از اتمام دستور، نمای درون‌حافظه‌ای مورد انتخاب‌شده نوسازی شده و اندازهٔ دایرکتوری‌ها در صورت لزوم تعدیل می‌شود. این عمل نوسازی کامل کل درخت دایرکتوری نیست؛ بنابراین اگر مورد تغییر نام یافته باشد یا به دایرکتوری دیگری منتقل شده باشد، مکان جدید آن به‌طور خودکار شناسایی نخواهد شد.

برای نمونه، جهت استفاده از حالت تعاملی rm(1) برای پرسش پیش از هر حذف:

ncdu --no-confirm-delete --delete-command 'rm -ri --'
یا برای انتقال فایل‌ها به سطل زباله:
ncdu --delete-command 'gio trash --'
off | dark | dark-bg
تنظیم طرح رنگی. طرح‌های زیر شناخته شده‌اند: off برای غیرفعال کردن رنگ‌ها، dark برای طرح رنگی در نظر گرفته‌شده برای پس‌زمینه‌های تیره، و dark-bg برای گونه‌ای از طرح رنگی dark که در ترمینال‌های با پس‌زمینهٔ روشن نیز کار می‌کند.

حالت پیش‌فرض off است.

برنامهٔ ncdu می‌تواند با قرار دادن گزینه‌های خط فرمان در /etc/ncdu.conf یا $HOME/.config/ncdu/config پیکربندی شود. اگر هر دو فایل وجود داشته باشند، پیکربندی سیستم پیش از پیکربندی کاربر بارگذاری می‌شود و به کاربران اجازه می‌دهد گزینه‌های تنظیم‌شده در پیکربندی سیستم را بازنویسی کنند. گزینه‌های ارائه‌شده در خط فرمان، گزینه‌های تنظیم‌شده در فایل‌های پیکربندی را بازنویسی خواهند کرد. در صورت دادن --ignore-config در خط فرمان، این فایل‌ها اصلاً خوانده نخواهند شد.

قالب فایل پیکربندی به‌سادگی یک گزینهٔ خط فرمان در هر خط است. خطوطی که با '#' آغاز می‌شوند نادیده گرفته می‌شوند. یک خط می‌تواند با پیشوند '@' مشخص شود تا خطاهای هنگام تجزیهٔ آن گزینه نادیده گرفته شوند. نمونهٔ فایل پیکربندی:

# همواره فعال کردن حالت گسترش‌یافته
-e

# غیرفعال کردن حذف فایل
--disable-delete

# مستثنی کردن دایرکتوری‌های .git
--exclude .git

# خواندن موارد استثنا از ~/.ncduexcludes؛ نادیده گرفتن خطا در صورت عدم وجود فایل
@--exclude-from ~/.ncduexcludes

?
باز کردن صفحهٔ راهنما + کلیدها + درباره
up, down, j, k
پیمایش بین موارد
right, enter, l
باز کردن دایرکتوری انتخاب‌شده
left, <, h
رفتن به دایرکتوری والد
n
مرتب‌سازی بر اساس نام فایل (فشردن دوباره برای ترتیب نزولی)
s
مرتب‌سازی بر اساس اندازهٔ فایل (فشردن دوباره برای ترتیب نزولی)
C
مرتب‌سازی بر اساس تعداد اقلام (فشردن دوباره برای ترتیب نزولی)
a
تغییر وضعیت بین نمایش میزان مصرف دیسک و نمایش اندازهٔ ظاهری.
M
مرتب‌سازی بر اساس تازه‌ترین زمان تغییر (mtime) فرزندان (فشردن دوباره برای ترتیب نزولی). نیازمند نشان -e است.
d
حذف فایل یا دایرکتوری انتخاب‌شده. در صورتی که محتوای دایرکتوری همخوانی نداشته باشد یا دیگر روی فایل‌سیستم وجود نداشته باشد، پیامی مبنی بر خطا نمایش داده خواهد شد.
t
تغییر اولویت دایرکتوری‌ها پیش از فایل‌ها هنگام مرتب‌سازی.
g
تغییر وضعیت بین نمایش درصد، نمودار، هر دو، یا هیچ‌کدام. درصد نسبت به اندازهٔ دایرکتوری فعلی است؛ نمودار نسبت به بزرگ‌ترین مورد در دایرکتوری فعلی سنجیده می‌شود.
u
تغییر وضعیت نمایش ستون اندازهٔ مشترک / یکتا برای دایرکتوری‌هایی که پیوندهای سخت مشترک دارند. این ستون تنها زمانی قابل مشاهده است که فهرست فعلی حاوی دایرکتوری‌هایی با پیوندهای سخت مشترک باشد.
c
تغییر وضعیت نمایش تعداد اقلام فرزند.
m
تغییر وضعیت نمایش تازه‌ترین زمان تغییر (mtime) فرزندان. نیازمند نشان -e است.
e
نمایش/پنهان کردن فایل‌ها و دایرکتوری‌های «پنهان» یا «مستثنی‌شده». توجه داشته باشید که حتی اگر نتوانید فایل‌ها و دایرکتوری‌های پنهان را ببینید، آن‌ها همچنان وجود دارند و در اندازهٔ دایرکتوری لحاظ می‌شوند. اگر احساس می‌کنید مجموع نمایش‌داده‌شده در پایین صفحه درست نیست، مطمئن شوید که این گزینه را فعال نکرده باشید.
i
نمایش اطلاعات دربارهٔ مورد انتخاب‌شدهٔ فعلی.
r
نوسازی/محاسبهٔ مجدد دایرکتوری فعلی.
b
اجرای پوسته در دایرکتوری فعلی.

برنامهٔ ncdu پوستهٔ ترجیحی شما را از متغیر محیطی NCDU_SHELL یا SHELL (به همین ترتیب) تعیین می‌کند، یا اگر هیچ‌کدام تنظیم نشده باشند، /bin/sh را فراخوانی می‌کند. این امکان به شما اجازه می‌دهد تا دستور دیگری را نیز پیکربندی کنید که هنگام فشرده شدن کلید 'b' اجرا شود. برای نمونه، جهت اجرای مدیر فایل vifm(1) به‌جای پوسته، ncdu را به‌صورت زیر اجرا کنید:

NCDU_SHELL=vifm ncdu
متغیر محیطی NCDU_LEVEL پیش از اجرای پوسته تنظیم شده یا مقدار آن افزایش می‌یابد، که به شما امکان می‌دهد تشخیص دهید آیا پوسته‌تان از داخل ncdu در حال اجراست یا خیر. این می‌تواند برای جلوگیری از تودرتو شدن چند نمونه مفید باشد، هرچند که خود ncdu (در حال حاضر) در مورد این وضعیت هشداری نمی‌دهد یا مانع آن نمی‌شود.
q
خروج

ورودی‌های رابط مرورگر ممکن است یک نشانهٔ تک‌نویسه‌ای در ابتدای خود داشته باشند. این نشانه‌ها معانی زیر را دارند:

!
هنگام خواندن این دایرکتوری خطایی رخ داد.
.
هنگام خواندن یک زیردایرکتوری خطایی رخ داد، بنابراین اندازهٔ نشان‌داده‌شده ممکن است دقیق نباشد.
<
فایل یا دایرکتوری با استفاده از الگوهای استثنا از آمار خارج شده است.
>
دایرکتوری روی یک فایل‌سیستم دیگر قرار دارد.
^
دایرکتوری به‌دلیل اینکه یک شبه‌فایل‌سیستم لینوکس است از آمار خارج شده است.
@
این مورد نه فایل است و نه پوشه (پیوند نمادین، سوکت، ...).
H
همین فایل پیش‌تر شمرده شده است (پیوند سخت).
e
دایرکتوری خالی.

برای پویش و مرور دایرکتوری‌ای که هم‌اکنون در آن هستید، تنها چیزی که نیاز دارید یک دستور ساده است:

ncdu
برای پویش یک فایل‌سیستم کامل، برای نمونه فایل‌سیستم ریشه، بهتر است از -x استفاده کنید:
ncdu -x /

از آنجا که پویش یک دایرکتوری بزرگ ممکن است مدتی طول بکشد، می‌توانید یک دایرکتوری را پویش کرده و نتایج را برای مشاهده در آینده برون‌بری کنید:

ncdu -1xO export.ncdu /
# ...some time later:
ncdu -f export.ncdu
برای برون‌بری از طریق یک cron job، حتماً -1 را با -0 جایگزین کنید تا خروجی‌های غیرضروری پیشرفت پنهان شوند.

همچنین می‌توانید یک دایرکتوری را برون‌بری کرده و پس از اتمام پویش، آن را مرور کنید:

ncdu -co- | tee export.json.zst | ./ncdu -f-

برای پویش یک سامانه از راه دور، اما مرور فایل‌ها به‌صورت محلی:

ssh user@system ncdu -co- / | ./ncdu -f-
پویش از راه دور و مشاهدهٔ محلی در مقایسه با اجرای مستقیم ncdu روی سامانهٔ دوردست دو مزیت عمده دارد: شما می‌توانید بدون هیچ‌گونه تاخیر شبکه دایرکتوری پویش‌شده را روی سیستم محلی مرور کنید، و ncdu هنگام برون‌بری کل ساختار دایرکتوری را در حافظه نگه نمی‌دارد، بنابراین حافظهٔ زیادی روی سامانهٔ دوردست مصرف نخواهد شد.

du(1), tree(1).

ncdu دارای یک وب‌سایت است: https://dev.yorhel.nl/ncdu

نوشته‌شده توسط Yorhel <projects@yorhel.nl>

پیوندهای سخت به دایرکتوری‌ها و firmlinks (در MacOS) پشتیبانی نمی‌شوند. آن‌ها به‌عنوان پیوند سخت تشخیص داده نشده و در نتیجه چندین بار پویش و محاسبه می‌شوند.

ممکن است هنگام نمایش نام فایل‌هایی که حاوی نویسه‌های چندبایتی یا چندستونی هستند، اشکالات جزئی در تصویر رخ دهد.

اندازه‌های یکتا و مشترک دایرکتوری بر پایهٔ این فرض محاسبه می‌شوند که تعداد پیوندهای سخت در طول یک پویش فایل‌سیستم یا در میان نوسازی‌ها تغییر نمی‌کند. اگر این اتفاق رخ دهد، برای نمونه هنگامی که یک پیوند سخت حذف می‌شود، این ارقام بسیار نادرست خواهند بود و برای دریافت ارقام درست مجدد، نوسازی کامل از طریق راه‌اندازی مجدد ncdu لازم است.

تمام اندازه‌ها در داخل به‌صورت یک عدد صحیح ۶۴ بیتی علامت‌دار ذخیره می‌شوند. اگر دایرکتوری‌ای بزرگ‌تر از ۸ اگزبی‌بایت (EiB) منهای یک بایت داشته باشید، ncdu اندازهٔ آن را به ۸ اگزبی‌بایت منهای یک بایت محدود می‌کند. هنگام حذف یا نوسازی موارد در دایرکتوری با اندازهٔ محدودشده، اندازه‌های حاصل نادرست خواهند بود. به‌همین ترتیب، شمارش اقلام در یک عدد صحیح ۳۲ بیتی ذخیره می‌شود، بنابراین در رویداد بعیدی که بیش از ۴ میلیارد مورد در یک دایرکتوری داشته باشید، نادرست خواهد بود.

لطفاً هر باگ دیگری که پیدا می‌کنید را در بخش ردیاب باگ گزارش دهید، که می‌توان آن را در وب‌سایت زیر یافت: https://dev.yorhel.nl/ncdu

August 16, 2025 Linux 6.12.107+deb13-amd64