Как отсортировать каталоги по фактическому размеру в Linux



Попробуйте наш инструмент устранения неполадок

Файловые браузеры Linux ведут себя так же, как Проводник в Windows или Finder в OS X, в этом случае сортировка каталогов по размеру не работает так, как ожидали бы многие пользователи. Вы можете отсортировать каталоги по количеству подкаталогов, которые они содержат, или по количеству файлов внутри них. Тем не менее в большинстве случаев фактический размер файла не работает, и вам понадобится дополнительный инструмент.



К счастью, есть несколько уловок, с помощью которых вы можете узнать фактический размер каталогов по объему дискового пространства компьютера, которое они занимают. Что касается файловых систем, то между папками и каталогами очень мало различий. То, что ваш файловый браузер называет папкой, на самом деле одно и то же, поэтому эти приемы будут работать независимо от того, какой набор слов вы предпочитаете. Термин «каталог» используется для единообразия.



Метод 1. Сортировка каталогов с помощью анализатора использования диска

Пользователи Ubuntu, Debian и Linux Mint, которые предпочитают инструменты графического анализа диска, могут попробовать использовать sudo apt-get install baobab из командной строки. Пользователи Fedora и Red Hat обычно могут использовать sudo yum install baobab из командной строки, но имейте в виду, что, будучи приложением GTK +, вам может потребоваться заполнить некоторые зависимости, если вы используете среду рабочего стола на основе QT, такую ​​как KDE или LXQT. .



Как только вы все будете удовлетворены, вы можете запустить приложение из командной строки, набрав baobab, или вы можете найти его в Dash на рабочем столе Unity Ubuntu. Вы можете удерживать нажатой клавишу Super или Windows и нажать R, затем ввести baobab, если вы предпочитаете использовать Application Finder, или вы можете запустить его, щелкнув меню «Приложения» и найдя GNOME Disk Usage Analyzer в категории «Системные инструменты». Все зависит от того, какую среду рабочего стола вы используете.

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



Вы можете нажать кнопку «Размер», чтобы отсортировать каталоги от самого высокого к меньшему по фактическому размеру, но по умолчанию используется обратное. Щелкните стрелки рядом с именем каталога, чтобы развернуть его и отсортировать подкаталоги, находящиеся под ним.

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

Метод 2: использование классического инструмента du

Вы можете использовать инструмент использования диска в командной строке Unix (du) практически из любой командной строки Linux, если вы не против работать в командной строке. Эта программа суммирует использование диска любым набором файлов. Если вы запустите его без аргументов, он продолжит рекурсивно просматривать каждый каталог и суммировать размер каждого, пока не достигнет конца дерева.

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

du –si –max-depth = 1 nameOfDirectory | sort -h

Вам нужно будет заменить nameOfDirectory на каталог, из которого вы хотите начать. Скажем, например, вы хотите отсортировать все каталоги, находящиеся непосредственно под / lib, по размеру. Вы можете запустить команду как:

du –si –max-depth = 1 / lib | sort -h

Вы можете изменить число после –max-depth =, поскольку это значение определяет, насколько глубоко в структуре каталогов команда du должна искать. Однако, поскольку цель здесь заключалась в том, чтобы избежать поиска по всему дереву, мы решили оставить его на 1 и заглянуть под единственный каталог.

Аргумент –si указывает, что команда du должна печатать размеры с использованием Международной системы единиц, которая определяет один килобайт как равный 1000 байтам. Хотя это предпочитают те, кто перешел на Linux с OS X или привык рассчитывать размеры каталогов с размерами оборудования, многие пользователи чаще всего используют двоичные размеры, где 1024 байта равны 1 мегабайту. Замените -si на -h следующим образом:

du -h –max-depth = 1 / lib | sort -h

Это приведет к отображению вывода, как ожидалось, если вы предпочитаете двоичные размеры. Если вы привыкли измерять объекты в так называемых кибибайтах, то вам тоже захочется использовать эту команду. Вы также можете включить | меньше или | more в конец этой командной строки, если вы обнаружите так много подкаталогов в каталоге верхнего уровня, что вывод выскакивает сразу со страницы. Помните, что вы должны иметь возможность использовать полосу прокрутки, трекпад или сенсорный экран для прокрутки результатов в любом современном эмуляторе X-терминала.

Если вы обнаружите, что часто используете это решение и вместо этого хотите, чтобы у вас была версия, построенная на новых проклятиях, вы можете использовать sudo apt-get install ncdu в Debian, Ubuntu, различных вращениях Ubuntu, Bodhi и Linux Mint для установки ncurses- на основе дю зрителя. Пользователи Fedora и Red Hat должны иметь возможность использовать sudo yum install ncdu, если они настроили файл sudoers, или su - с последующим паролем администратора, а затем yum install ncdu, если они еще не установили.

Скорее всего, вам не придется сталкиваться с какими-либо зависимостями, потому что программа основана на ncurses и немногое еще. Вы можете запустить его из текущего каталога, набрав ncdu, или заглянуть в другую часть дерева, набрав ncdu / lib или любой другой каталог, который вы хотите просмотреть.

Вам сообщат, что программа подсчитывает количество элементов, найденных в запрошенном каталоге. По завершении вы можете просматривать каталоги в порядке их истинного размера с помощью клавиш со стрелками. Вы можете нажать клавишу S, чтобы отсортировать каталоги вперед и назад в порядке их размера.

4 минуты на чтение