- How to install ncdu on Linux / Unix to see disk usage
- Installing ncdu on Linux
- Alpine Linux install ncdu
- Arch Linux install ncdu
- OpenSUSE/SUSE Linux
- CentOS/RHEL/Fedora Linux
- macOS install ncdu
- FreeBSD Unix install ncdu
- OpenBSD installing ncdu
- How to use the ncdu command
- Options
- Keyboard shortcuts
- Summing up
- Use Ncdu command to Check disk space usage on Linux
- Ncdu — Ncurses du
- Ncdu vs du/df
- About Ncdu
- Install Ncdu
- Quiet Mode
- Omit mounted directories
- ncdu: графический интерфейс du чтобы быстро узнать, какие файлы и папки израсходовали место на диске
- Оглавление
- Что такое ncdu
- Как установить ncdu
- Как пользоваться ncdu
- Как найти директории, которые занимают больше всего места в Linux
- Управление ncdu
- Как включить режим расширенной информации в ncdu
- Опции интерфейса
- Опции сканирования
- Как экспортировать информацию об использовании диска и импортировать для анализа
- Использование ncdu с cron
How to install ncdu on Linux / Unix to see disk usage
T he du (disk usage) command summarizes directory trees’ sizes, including all of their contents and individual files’ sizes on Linux and Unix-like systems such as macOS. It helps track down space hogs. In other words, we can list directories and files that consume large amounts of space on a hard disk drive. Let us see the ncdu command, a curses-based version of the well-known du command.
Over the years, ncdu recommend to me by many nixCraft readers. Ncdu is a disk usage analyzer with an ncurses interface. Still, I never tried an alternative for finding the sizes of files and directory trees when using a text-based graphical user interface (TUI). However, in this post, I will explain how to install ncdu on Linux or Unix and see if it is worth installing it on production systems.
Installing ncdu on Linux
Open the Terminal application and then type commands as per your distro. For instances, Debian/Ubuntu Linux users try the apt command/apt-get command as follows:
sudo apt install ncdu
Alpine Linux install ncdu
Try the apk command to install ncdu including man pages on Alpine Linux:
# apk add ncdu ncdu-doc
Arch Linux install ncdu
Use the pacman command:
sudo pacman -S ncdu
OpenSUSE/SUSE Linux
We use the zypper command:
sudo zypper in ncdu
CentOS/RHEL/Fedora Linux
Turn on EPLE repo for RHEL/CentOS and then run the yum command:
sudo yum install ncdu
Fedora Linux user simply run the dnf command:
sudo dnf install ncdu
macOS install ncdu
First, install Homebrew on macOS to use the brew package manager and then type:
brew install ncdu
Or use the following when using macports:
sudo port install ncdu
FreeBSD Unix install ncdu
Type the following pkg command:
sudo pkg install ncdu
OpenBSD installing ncdu
Execute the pkg_add command:
doas pkg_add ncdu
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
How to use the ncdu command
The basic syntax for ncdu is:
ncdu
ncdu [options] [directories]
The items in the square brackets are optional. When used with no options or arguments, ncdu shows the names and space consumption of each of the directories that begin with the current directory:
Press q to exit to the shell. The ncdu can give information about any directory trees. For example:
ncdu /etc/
ncdu /tmp/
ncdu /nfs
ncdu $HOME
Options
We can enable extended information mode by passing the -e :
ncdu -e
When ou want to scan a full filesystem, your root filesystem, for example, then you’ll want to pass the -x :
sudo ncdu -x /
On large Unix and Linux file servers, scanning a whole directory may take a while. So what you can do is review a directory and export the results for later viewing:
sudo ncdu -1xo- / | gzip >my_root_export.gz
Later after some time, we can use zcommands to read gzip compressed text files on a fly and pipe it out to the ncdu as follows:
ls -l my_root_export.gz
zcat my_root_export.gz | ncdu -f-
The -f option load the given file, which has earlier been created with the -o option. If FILE is equivalent to — , the file is read from standard input (pipe).
It is also possible to scan a system remotely using the ssh command. Then browse through the files locally:
ssh -C user@system ncdu -o- / | ncdu -f-
ssh -C vivek@192.168.2.17 ncdu -o- / | ncdu -f-
Turn on color option:
ncdu —color dark
ncdu —color dark -x /
We can exclude files that match PATTERN:
ncdu —exclude ‘*.c’
ncdu -x —exclude ‘/dir1’ —exclude ‘/dir2’ /
Follow symlinks and count the size of the file they point to:
ncdu -L
ncdu -L dir1
Keyboard shortcuts
Key | Description |
---|---|
up , k | Move cursor up |
down , j | Move cursor down |
right/enter | Open selected directory |
left , , h | Open parent directory |
n | Sort by name (ascending/descending) |
s | Sort by size (ascending/descending) |
C | Sort by items (ascending/descending |
M | Sort by mtime (-e flag) |
d | Delete selected file or directory |
t | Toggle dirs before files when sorting |
g | Show percentage and/or graph |
a | Toggle between apparent size and disk usage |
c | Toggle display of child item counts |
m | Toggle display of latest mtime (-e flag) |
e | Show/hide hidden or excluded files |
i | Show information about selected item |
r | Recalculate the current directory |
b | Spawn shell in current directory |
q | Quit ncdu |
Summing up
I found ncdu as a convenient alternative for finding the sizes of files and directory trees using a TUI method. However, this tool is not installed by default and is not required on the production Linux or Unix server. However, it does provide reporting that du provides in neat format. Hence, we can use it on workstations or even on servers to find space hogs. Personally, I will only use it on my desktop, but your mileage may vary. Make sure you checkout project home page too or read ncdu manual page using the man command:
man ncdu
Источник
Use Ncdu command to Check disk space usage on Linux
Ncdu — Ncurses du
Ncdu is a command line tool to view and analyse disk space usage on linux.
It can drill down into directories and report space used by individual directories.
This way it is very easy to track down space consuming files/directories. It actually allows the user to do this much faster than even a gui file manager. On the server ofcourse gui tools are not present.
Just start from the root directory, or the web directory as the case may be and descend down following the directories that are reported to by ncdu to be bloated.
Ncdu vs du/df
The interface of ncdu is built using ncurses and is interactive. Ncdu is different from df or du.
Ncdu just checks the space used by a directory and drills down.
On the other hand the df command reports space used by different storage devices.
The du command is more of raw in nature and reports space used by individual files and recursively into sub directories. Due to this the output is huge and very cumbersome.
The du command needs to be passed few options and combined with other commands via pipes to produce something readable.
About Ncdu
The ncdu project site is located at
http://dev.yorhel.nl/ncdu
Here is why the author invented ncdu
Install Ncdu
Install it on ubuntu with the apt-get command
Start it by running ncdu.
All files and directories are listed sorted in descending order by their size. The middle column is a bar to indicate the relative size. The bar that is full, is the largest.
Press the right arrow key on any directory to navigate inside the directory further and check which file or directory is using how much space. This is quite handy when analysing disk space usage on a remote server over ssh.
Press the left key to go back to the parent directory. Easy to use!!
So lets take for example, if your un-attended mailbox has grown huge in size and the server is sending out disk space alarms, then fireup ncdu and get down to the right directory and do a rm *. Very handy! This makes ncdu a very essential tool for sys admins.
Quiet Mode
ncdu by default updates the screen and data multiple times every second. On a remote connection this is not desirable since it would waste bandwidth and slow down the output. Use to «-q» option to fix this
Omit mounted directories
Ncdu by default would try to scan all directories existing in a path. However some directories might mounted devices which should not be scanned for checking space usage. Use the «x» option to omit such directories
So ncdu is a powerful tool to monitor, check and analyse disk space usage on your linux system. To monitor other resources like cpu, ram, disk io etc use htop, iotop and the likes.
A Tech Enthusiast, Blogger, Linux Fan and a Software Developer. Writes about Computer hardware, Linux and Open Source software and coding in Python, Php and Javascript. He can be reached at [email protected] .
Источник
ncdu: графический интерфейс du чтобы быстро узнать, какие файлы и папки израсходовали место на диске
Оглавление
Что такое ncdu
ncdu — это NCurses Disk Usage, то есть известная программа du с интерфейсом curses, она поможет определить, какие директории используют ваше место на диске.
Размер программы 81 килобайт и она супер простая в использовании. Многие пользователи оценили эту программу и сравнивают её с WinDirStat для Linux — абсолютно идеально подходит для оценки потребления диска и для сценариев поиска папок и файлов, которые можно удалить когда закончилось место на диске.
Как установить ncdu
Программа ncdu присутствует во многих дистрибутивах в стандартных репозиториях.
Для установки ncdu в Linux Mint, Ubuntu, Debian, Kali Linux и их производные выполните:
Для установки ncdu в Arch Linux, BlackArch и их производные выполните:
Как пользоваться ncdu
Использование программой элементарное, для сканирования и обзора текущей директории, в которой вы находитесь, просто запустите программу:
Как найти директории, которые занимают больше всего места в Linux
Чтобы просканировать всю файловую систему — например, вашу корневую файловую систему, то нужно указать путь — для корня это / (слэш). Также пригодиться опция -x — она говорит программе не выходить за пределы текущей файловой системы, то есть считать только файлы и директории на том диске, который сканируется. Дело в том, что к корневой файловой системе могут быть смонтированы другие диски — и без этой опцией они также будут посчитаны.
Управление ncdu
У ncdu псевдографический интерфейс с которым можно взаимодействовать с помощью клавиш.
Для выхода из программы нажмите q.
Для перемещения по каталогам используйте курсорные клавиши вверх-вниз, либо кнопки j (вниз) и k (вверх).
Для перехода в выбранную директорию используйте одну из следующих кнопок:
- курсор вправо
- ENTER
- l
Для возврата в родительскую директорию используйте одну из следующих кнопок:
- курсор влево
- — директория находится на другой файловой системе (на другом диске или является виртуальной файловой системой).
@ — это не файл и не папка (символическая ссылка, сокет, …).
H — такой же файл уже был посчитан (жёсткая ссылка).
e — пустая директория.
Как включить режим расширенной информации в ncdu
Для включения режима расширенной информации нужно при запуске программы указать опцию -e. Это приведёт к тому, что кроме обычной информации о файле, для каждой папки и файла также будут прочитаны данные о его владельце, правах доступа и о времени последнего изменения. Это потребует большего использования памяти (примерно на 30%) и большего размера файла вывода при экспорте данных:
При использовании функции экспорта/импорта файлов этот флаг необходимо будет добавить как при экспорте (чтобы убедиться, что информация добавлена в экспорт), так и при импорте (чтобы прочитать эту дополнительную информацию в память). Этот флаг не действует при импорте файла, который был экспортирован без расширенной информации.
Это позволяет просматривать и сортировать по последнему дочернему mtime или времени изменения, используя кнопки «m» и «M» соответственно.
Опции интерфейса
-0
Не выводить какую либо информацию во время сканировании директории или импорте файла. Исключением являются произошедшие фатальные ошибки. Ncurses не будет инициализирован пока не завершиться сканирование. Когда экспортируются данные с опцией «-o«, ncurses не будет инициализирован вовсе. Эта опция применяется по умолчанию при экспорти из стандартного ввода.
-1
Похожа на «-0«, но показывает информацию о процессе сканирования одной строкой вывода. Эта опция применяется по умолчанию при экспортировании в файл.
В некоторых случаях интерфейс браузера ncurses, который вы увидите после завершения сканирования/импорта, может выглядеть искажённым при использовании этой опции. Если вы не экспортируете в файл, то опция «-2», вероятно, является лучшим выбором.
-2
Эта опция предоставляет полноэкранный интерфейс ncurses во время сканирования директорий или импорта из файла. Только этот интерфейс будет предоставлять информацию о нефатальных ошибках во время сканирования.
-q
Тихий режим. Во время сканирования или импорта, ncdu по умолчанию будет обновлять экран 10 раз в секунду. Эта опция включит тихий режим, во время которого обновление экрана будет уменьшено до каждых 2 секунд.
Используйте эту функцию для сохранения пропускного канала с удалённым хостом (при анализе другого компьютера). Эта опция не имеет эффекта когда используется «-0«.
-r
Режим только чтение. Он отключит встроенную возможность удаления файла. Эта опция не имеет эффекта когда используется «-o«, поскольку в этом случае не будет браузера интерфейса.
Она не имеет эффекта когда используется «-f«, поскольку в этом случае функция удаления всё равно отключена.
Внимание: эта опция предотвратит только удаление из файлового браузера. По прежнему возможно открыть шелл из ncdu и удалить или изменить файлы оттуда. Для отключения и этой функции, укажите опцию «-r» дважды (смотрите «-rr«).
-rr
Эта опция в дополнении к эффекту «-r«, также отключит возможность открытия шелла из файлового браузера.
—si
Выводит размеры используя префикс 10, то есть, степеней от 1000 (KB, MB и т. д.) как определено в International System of Units (SI), вместо обычных префиксов на основе 2, то есть степеней 1024 (KiB, MiB и т.д.).
—confirm-quit
Если указать эту опцию, что перед выходом из ncdu будет требоваться подтверждение. Очень полезно если вы случайно нажимаете ‘q‘ во время или после долгого сканирования.
—color СХЕМА
Выбрать цветовую схему. В настоящее время распознаются только две схемы: off для отключения цветов (применяется по умолчанию) и dark для цветной схемы предназначенной для тёмных фонов.
Опции сканирования
Эти опции оказывают эффект на процесс сканирования и не имеют эффекта во время импортирования информации о директориях из файла.
-x
Уже рассмотрена выше — означает не учитывать другие смонтированные файловые системы.
—exclude ШАБЛОН
Исключает файлы, которые совпадают с ШАБЛОНом. Эти файлы по умолчанию будут отображены, но не будут посчитаны для статистики использования диска. Этот аргумент может быть добавлен несколько раз для добавления нескольких шаблонов.
-X ФАЙЛ, —exclude-from ФАЙЛ
Исключить файлы, которые соответствуют любому шаблону в ФАЙЛе. Шаблоны должны быть разделены новой строкой.
—exclude-caches
Исключить директории, содержащие CACHEDIR.TAG. Эти директории всё равно будут отображены, но не их содержимое, и они не будут считаться для статистики использования диска.
-L, —follow-symlinks
Следовать символическим ссылкам и считать размер файлов, на которые они указывают.
Как экспортировать информацию об использовании диска и импортировать для анализа
Для этого используются опции -o ФАЙЛ (для экспорта данных в файл) и -f ФАЙЛ (для импорта данных в файл).
-o ФАЙЛ
Экспортирует всю необходимую информацию в ФАЙЛ вместо открытия его в интерфейсе браузера. Если в качестве ФАЙЛа указано «—«, то данные пишутся в стандартный вывод.
-f ФАЙЛ
Загружает указанный файл, которые ранее был создан с опцией «-o». Если ФАЙЛ указан как «—«, то происходит считывание из стандартного ввода.
В целях предотвращения путаницы, текущая версия ncdu подразумевает ,что информация из этого файла не связана с файловой системой на анализируемом компьютере, где файл был импортирован. То есть, такие опции как обновление, удаление файлов и запуск шелла в браузере будут отключены.
Поскольку сканирование большой директории может занять много времени, вы можете просканировать папки и экспортировать результаты для дальнейшего обзора:
Вы также можете одновременно экспортировать директорию и изучать её содержимое сразу как сканирование будет завершено:
Это же самое возможно и при сжатии gzip, но немного запутанно:
Для удалённого сканирования системы, но изучения её файлов локально:
Опция «-C» в ssh включает сжатие, которое будет очень полезным при медленных соединениях. Удалённое сканирование и локальное изучение имеют два больших преимущества по сравнению с запуском ncdu непосредственно на удалённой системе: вы можете бродить по папкам просканированной директории на локальной системе без каких-либо сетевых задержек; и ncdu не хранит всю структуру директорий в памяти при экспортировании, поэтому вы не будете потреблять много памяти на удалённой системе.
Использование ncdu с cron
Для экспорта по заданию работы cron, убедитесь, что заменили «-1» на «-0» для подавления любого необязательного вывода.
Источник