ZaLinux.ru

ncdu: графический интерфейс du чтобы быстро узнать, какие файлы и папки израсходовали место на диске

Оглавление

1. Что такое ncdu

2. Как установить ncdu

3. Как пользоваться ncdu

4. Как найти директории, которые занимают больше всего места в Linux

5. Управление ncdu

6. Обозначение папок и файлов в ncdu

7. Как включить режим расширенной информации в ncdu

8. Опции интерфейса

9. Опции сканирования

10. Как экспортировать информацию об использовании диска и импортировать для анализа

11. Использование ncdu с cron


Что такое ncdu

ncdu — это NCurses Disk Usage, то есть известная программа du с интерфейсом curses, она поможет определить, какие директории используют ваше место на диске.

Размер программы 81 килобайт и она супер простая в использовании. Многие пользователи оценили эту программу и сравнивают её с WinDirStat для Linux — абсолютно идеально подходит для оценки потребления диска и для сценариев поиска папок и файлов, которые можно удалить когда закончилось место на диске.

Как установить ncdu

Программа ncdu присутствует во многих дистрибутивах в стандартных репозиториях.

Для установки ncdu в Linux Mint, Ubuntu, Debian, Kali Linux и их производные выполните:

sudo apt install ncdu

Для установки ncdu в Arch Linux, BlackArch и их производные выполните:

sudo pacman -S ncdu

Как пользоваться ncdu

Использование программой элементарное, для сканирования и обзора текущей директории, в которой вы находитесь, просто запустите программу:

ncdu

Как найти директории, которые занимают больше всего места в Linux

Чтобы просканировать всю файловую систему — например, вашу корневую файловую систему, то нужно указать путь — для корня это / (слэш). Также пригодиться опция -x — она говорит программе не выходить за пределы текущей файловой системы, то есть считать только файлы и директории на том диске, который сканируется. Дело в том, что к корневой файловой системе могут быть смонтированы другие диски — и без этой опцией они также будут посчитаны.

ncdu -x /

Управление ncdu

У ncdu псевдографический интерфейс с которым можно взаимодействовать с помощью клавиш.

Для выхода из программы нажмите q.

Для перемещения по каталогам используйте курсорные клавиши вверх-вниз, либо кнопки j (вниз) и k (вверх).

Для перехода в выбранную директорию используйте одну из следующих кнопок:

  • курсор вправо
  • ENTER
  • l

Для возврата в родительскую директорию используйте одну из следующих кнопок:

  • курсор влево
  • <
  • h

Также в родительскую директорию можно перейти нажав на .. (две точки) с помощью ENTER, курсора вправо или l.

Для сортировки директорий и файлов используются следующие кнопки:

t — для показа директорий перед сортировкой файлов

Для файловых систем есть такие понятие как действительный размер файла и место, занимаемое им на файловой системе — эти значения не всегда равны по разным причинам. Для переключения между этими двумя режимами, нажимайте кнопку a.

Для удаления выбранной директории нажмите кнопку d. Если содержимое директории не соответствует или больше не существует в файловой системе, то будет показано сообщение об ошибке.

Переключателем g можно изменять вид: проценты, граф, оба варианта или ничего. Процент относится к размеру текущего каталога, граф — к наибольшему элементу в текущем каталоге.

Переключателем c можно включать и отключать показ счётчика дочерних элементов.

Переключатель m показывает последнее время модификации (mtime) дочернего элемента. Требует флаг -e.

С помощью кнопки e можно показать/скрыть «скрытые» или «исключённые» файлы и каталоги. Обратите внимание, что, хотя вы не можете видеть скрытые файлы и каталоги, они все ещё там, и они все ещё включены в размеры каталогов. Если вы подозреваете, что итоги, показанные внизу экрана, неверны, убедитесь, что вы не включили эту опцию.

Чтобы показать информацию о текущем выбранном элементе, нажмите i.

Для обновления/пересчёта текущей директории, нажмите r.

Для запуска оболочки в текущей директории нажмите кнопку b.

Обозначение папок и файлов в ncdu

Записям, по которым вы переходите в интерфейсе обзора, может предшествовать односимвольный флаг. Эти флаги имеют следующее значение:

! - во время чтения этой директории произошла ошибка.

. - произошла ошибка во время чтения поддиректории, поэтому указанный размер может быть неверным.

< - файл или директория исключены из статистики по используемому шаблону исключения.

> - директория находится на другой файловой системе (на другом диске или является виртуальной файловой системой).

@ - это не файл и не папка (символическая ссылка, сокет, …).

H — такой же файл уже был посчитан (жёсткая ссылка).

e — пустая директория.

Как включить режим расширенной информации в ncdu

Для включения режима расширенной информации нужно при запуске программы указать опцию -e. Это приведёт к тому, что кроме обычной информации о файле, для каждой папки и файла также будут прочитаны данные о его владельце, правах доступа и о времени последнего изменения. Это потребует большего использования памяти (примерно на 30%) и большего размера файла вывода при экспорте данных:

ncdu -x -e /

При использовании функции экспорта/импорта файлов этот флаг необходимо будет добавить как при экспорте (чтобы убедиться, что информация добавлена в экспорт), так и при импорте (чтобы прочитать эту дополнительную информацию в память). Этот флаг не действует при импорте файла, который был экспортирован без расширенной информации.

Это позволяет просматривать и сортировать по последнему дочернему 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 подразумевает ,что информация из этого файла не связана с файловой системой на анализируемом компьютере, где файл был импортирован. То есть, такие опции как обновление, удаление файлов и запуск шелла в браузере будут отключены.

Поскольку сканирование большой директории может занять много времени, вы можете просканировать папки и экспортировать результаты для дальнейшего обзора:

ncdu -1xo- / | gzip >export.gz

Когда-нибудь потом:

zcat export.gz | ncdu -f-

Вы также можете одновременно экспортировать директорию и изучать её содержимое сразу как сканирование будет завершено:

ncdu -o- | tee export.file | ./ncdu -f-

Это же самое возможно и при сжатии gzip, но немного запутанно:

ncdu -o- | gzip | tee export.gz | gunzip | ./ncdu -f-

Для удалённого сканирования системы, но изучения её файлов локально:

ssh -C user@system ncdu -o- / | ./ncdu -f-

Опция "-C" в ssh включает сжатие, которое будет очень полезным при медленных соединениях. Удалённое сканирование и локальное изучение имеют два больших преимущества по сравнению с запуском ncdu непосредственно на удалённой системе: вы можете бродить по папкам просканированной директории на локальной системе без каких-либо сетевых задержек; и ncdu не хранит всю структуру директорий в памяти при экспортировании, поэтому вы не будете потреблять много памяти на удалённой системе.

Использование ncdu с cron

Для экспорта по заданию работы cron, убедитесь, что заменили "-1" на "-0" для подавления любого необязательного вывода.

Рекомендуемые статьи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *