Поиск по сайту:

Альтернативы команде du для проверки использования диска

Как вы, возможно, уже знаете, команда "du" используется для вычисления и суммирования использования пространства файлов и каталогов в Unix-подобных системах. Если вы активно пользуетесь командой du, это руководство будет вам интересно! Сегодня я наткнулся на несколько хороших альтернатив команды du. Их может быть много, но это те, о которых я знаю на данный момент. Если я что-нибудь наткнусь в будущем, я добавлю это в этот список. Кроме того, если вы знаете какие-либо другие альтернативы, сообщите мне об этом в разделе комментариев ниже. Я их тоже рассмотрю и добавлю в список. Теперь давайте посмотрим на некоторые хорошие альтернативы команде du.

1. Нду

Ncdu — популярная альтернатива команде du в сообществе Linux. Разработчик Ncdu не удовлетворен работой команды du, поэтому он создал свою собственную. Ncdu — простой, но быстрый анализатор использования диска, написанный на языке программирования C с интерфейсом ncurses и позволяющий определить, какие каталоги или файлы занимают больше места в локальной или удаленной системе. . Мы уже опубликовали подробное руководство по Ncdu. Если вам интересно узнать об этом больше, перейдите по следующей ссылке.

  • Как проверить использование дискового пространства в Linux с помощью Ncdu

2. Оловянное лето

Tin Summer используется для поиска артефактов сборки, занимающих дисковое пространство. Это также еще одна хорошая альтернатива команде du. Благодаря многопоточности Tin-summer значительно быстрее команды du при расчете размера больших каталогов. В отличие от команды Du, она считывает размеры файлов, а не использование диска. Tin SUmmer — это бесплатный инструмент с открытым исходным кодом, написанный на языке программирования Rust.

Разработчик утверждает, что Tin Summer — хорошая альтернатива du Command, потому что:

  • В больших каталогах она работает быстрее по сравнению с командой du.
  • По умолчанию он отображает результаты использования диска в удобочитаемом формате.
  • Он использует regex для исключения файлов/каталогов,
  • Обеспечивает отсортированный и раскрашенный вывод,
  • Расширяемый,
  • И более.

2.1. Установите Tin Summer в Linux

Чтобы установить Tin Summer, откройте терминал и выполните следующую команду:

curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/tin-summer

Альтернативно вы можете установить Tin Summer с помощью менеджера пакетов Cargo . Убедитесь, что вы установили Rust в свою систему, как описано по следующей ссылке.

  • Установить язык программирования Rust в Linux

После установки Rust выполните следующую команду, чтобы установить Tin Summer:

 $ cargo install tin-summer

Если какой-либо из вышеупомянутых методов не работает, загрузите последнюю версию двоичного файла со страницы выпусков, скомпилируйте и установите ее вручную.

2.2. Применение

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

$ sn f
749  MB  ./.rustup/toolchains
749  MB  ./.rustup
147  MB  ./.cargo/bin
147  MB  ./.cargo
900  MB  .

Видеть? По умолчанию он отображает более приятный ввод в удобочитаемом формате. Вам не нужно использовать какие-либо дополнительные флаги (например, -h в команде du), чтобы получить этот результат.

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

sn f <path-to-the-directory>

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

$ sn sort /home/sk/ -n5
749 MB /home/sk/.rustup
749 MB /home/sk/.rustup/toolchains
147 MB /home/sk/.cargo
147 MB /home/sk/.cargo/bin
2.6 MB /home/sk/mcelog
900 MB /home/sk/

К вашему сведению, последний результат в приведенном выше выводе — это общий размер самых больших каталогов в данном каталоге, то есть /home/sk/. Так что не удивляйтесь, почему вы получаете шесть результатов вместо 5.

Чтобы найти в текущем каталоге каталоги с артефактами сборки:

 $ sn ar

Tin Summer также может искать каталоги, содержащие артефакты, занимающие определенный размер дискового пространства. Скажем, например, чтобы найти каталоги, содержащие артефакты, занимающие более 100 МБ дискового пространства, выполните:

sn ar -t100M

Как уже упоминалось, Tin Summer работает быстрее в больших каталогах, но медленнее в маленьких. Однако разработчик уверяет, что найдет способ исправить это в будущих выпусках!

Чтобы получить помощь, запустите:

sn --help

Для получения более подробной информации проверьте репозиторий проекта GitHub, указанный в конце этого руководства.

3. Пыль

Dust (du+rust=dust) — более интуитивно понятная версия утилиты du. Это даст нам мгновенный обзор того, какие каталоги занимают дисковое пространство, без необходимости использовать команды head или sort. Как и Tin Summer, он по умолчанию отображает размер каждого каталога в удобочитаемом формате. Он бесплатный, с открытым исходным кодом и написан на языке программирования Rust.

3.1. Установите Dust в Linux

Поскольку утилита пыли написана на Rust, ее можно установить с помощью менеджера пакетов «cargo», как показано ниже.

cargo install du-dust

Альтернативно вы можете загрузить последнюю версию двоичного файла со страницы релизов и установить ее, как показано ниже. На момент написания этого руководства последней версией была 0.3.1.

wget https://github.com/bootandy/dust/releases/download/v0.3.1/dust-v0.3.1-x86_64-unknown-linux-gnu.tar.gz

Извлеките файл загрузки:

tar -xvf dust-v0.3.1-x86_64-unknown-linux-gnu.tar.gz

Наконец, скопируйте исполняемый файл в свой путь ` PATH, например /usr/local/bin.

sudo mv dust /usr/local/bin/

3.2. Применение

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

dust

Пример вывода:

Найдите общий размер каталога с помощью Dust

Мы также можем получить полный путь ко всем каталогам, используя флаг -p.

dust -p

Отображение размера всех каталогов с полным путем

Чтобы получить общий размер нескольких каталогов, просто укажите их через пробел:

dust <dir1> <dir2>

Вот еще несколько примеров.

Покажите видимый размер файлов:

dust -s

Показывать только определенное количество каталогов:

dust -n 10

Показать 3 уровня подкаталогов в текущем каталоге:

dust -d 3

Для получения помощи запустите:

dust -h

Более подробную информацию можно найти на странице проекта на GitHub, указанной в конце.

4. Дискус

Diskus Это простая и быстрая утилита командной строки, альтернативная команде du -sh. Утилита diskus вычисляет общий размер файла текущего каталога. Это распараллеленная версия команды du -sh или, скорее, du -sh --bytes. Разработчик утилиты diskus утверждает, что она примерно в девять раз быстрее по сравнению с 'du -sh'. Diskus — это минимальная, быстрая программа с открытым исходным кодом, написанная на языке программирования Rust.

4.1. Установить дискус в Linux

Утилита diskus доступна в репозитории Arch Linux [Community]. Чтобы установить его, просто запустите:

sudo pacman -S diskus

В Ubuntu и ее производных загрузите последнюю версию утилиты diskus со страницы релизов и установите ее, как показано ниже.

wget "https://github.com/sharkdp/diskus/releases/download/v0.3.1/diskus_0.3.1_amd64.deb"
sudo dpkg -i diskus_0.3.1_amd64.deb

Альтернативно вы можете установить diskus с помощью менеджера пакетов Cargo . Убедитесь, что в вашей системе установлен Rust 1.29 или выше, как описано в ссылке, приведенной выше в разделе «Установка Tin Summer».

Если в вашей системе установлен Rust, выполните следующую команду для установки diskus:

cargo install diskus

4.2. Применение

Обычно, когда я хочу проверить общее дисковое пространство, используемое определенным каталогом, я использую флаги -sh с командой du, как показано ниже.

du -sh dir

Здесь флаг -s указывает сводку.

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

diskus

Отобразить размер каталога с помощью diskus

Я протестировал diskus, чтобы вычислить общий размер различных каталогов в моей системе Arch Linux. Скорость вычисления общего размера каталога впечатляет! Должен признать, что эта утилита работает гораздо быстрее, чем du -sh. Имейте в виду, что он может определить размер текущего каталога только на данный момент.

Чтобы получить помощь, запустите:

diskus -h

Более подробную информацию о Diskus можно найти на официальной странице GitHub (ссылка в конце).

Рекомендуем прочитать:

  • Как узнать размер каталога в Linux

5. Дуу

Duu, сокращение от Ddirectory Usage Utility, — это еще один инструмент для определения использования диска в данном каталоге. . Это кроссплатформенный продукт, поэтому вы можете использовать его в операционных системах Windows, Mac OS и Linux. Он написан на языке программирования Python.

5.1. Установите Дуу в Linux

Убедитесь, что у вас установлен Python3. Python3 доступен в репозиториях по умолчанию большинства дистрибутивов Linux, поэтому установка не составит проблем.

После установки Python3 загрузите последнюю версию Duu с официальной страницы релизов.

wget https://github.com/jftuga/duu/releases/download/2.20/duu.py

5.2. Применение

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

python3 duu.py

Пример вывода:

Найдите общий размер каталога с помощью duu

Как вы можете видеть в приведенном выше выводе, утилита Duu отобразит сводную информацию об общем количестве файлов и каталогов, а также их общем размере в байтах, КБ и МБ. Он также отобразит общий размер каждого элемента.

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

python3 duu.py /home/sk/Downloads/

Более подробную информацию можно найти на странице Duu на github, расположенной в конце.

6. Дуф

Duf — это утилита командной строки для определения использования диска в Linux и Unix-подобных системах. Он отображает подробную информацию об использовании диска в удобной табличной форме и удобном для пользователя формате. Вы даже можете получить данные об использовании диска в формате JSON .

Duf — это сокращение от disk usage/free. Она также считается лучшей альтернативой традиционной команде df.

Duf — приложение с открытым исходным кодом, написанное на языке программирования Go и выпущенное под лицензией MIT. Он работает под GNU/Linux, BSD и Mac OS.

Чтобы узнать больше о Duf, ознакомьтесь со следующим руководством:

  • Как просмотреть использование диска с помощью Duf в Linux и Unix

7. Файллайт

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

Чтобы узнать, как просмотреть отчет об использовании диска с помощью Filelight, ознакомьтесь со следующим руководством.

  • Filelight – визуализируйте использование диска в вашей системе Linux

И это все на данный момент. Надеюсь, это было полезно. Теперь вы знаете семь альтернатив команде du. Лично я предпочитаю Ncdu всем, представленным в этом руководстве. Теперь твоя очередь. Попробуйте и поделитесь с нами своими мыслями об этих инструментах в разделе комментариев ниже.

Ресурсы:

  • Репозиторий Tin Summer на GitHub
  • Репозиторий Dust на GitHub
  • Репозиторий Diskus GitHub
  • Репозиторий Duu на GitHub

Статьи по данной тематике