Представьте свою систему Linux как огромную область хранения, разделенную на разделы, называемые каталогами (или папками, если вы используете Windows).
По мере использования вашей системы и добавления новых файлов эти каталоги становятся больше. В крайних случаях огромные размеры каталогов могут замедлить работу системы из-за времени и ресурсов, необходимых для их анализа и поиска релевантной информации или ресурсов.
Знание того, как определять размер каталогов, важно для бесперебойной работы вашей системы Linux и обеспечения достаточного объема дискового пространства. Это поможет вам избежать операционных проблем, таких как замедление работы системы и нехватка места для важных данных.
Как и в Windows, где размер папки является важной частью системной информации, знание размера папки важно для администрирования системы Linux.
В этой статье мы рассмотрим четыре основных метода (ls, du, ncdu и tree) для определения того, сколько места занимают каталоги в системном хранилище. Наконец, мы рассмотрим роль файловых менеджеров в этом контексте.
Команда du (сокращение от disk usage) сообщает вам, сколько места занимают каталоги. Это уже включено в основные утилиты Linux и доступно во всех основных дистрибутивах.
Запустите следующую команду в терминале, чтобы проверить размер текущего каталога.
# sudo du
Вывод команды показывает все файлы в текущем каталоге с указанием их размера в килобайтах (КБ). Обычно эти цифры слишком велики, чтобы быть полезными. Вы можете включить флаг -h, чтобы улучшить читаемость размеров файлов.
# sudo du -h
Вы можете передать путь к каталогу команде du, чтобы просмотреть подробную информацию о размере.
# du -h /var
Обратите внимание, что если у вашей учетной записи нет прав доступа к файлу, вы увидите следующую ошибку вместо списка каталогов:
Чтобы устранить эту ошибку, просто используйте sudo с командой du, чтобы получить доступ к каталогу и его содержимому:
# sudo du -h /var
Вы можете использовать флаг -c, чтобы просмотреть общее использование диска конкретным каталогом:
#sudo du -c /var
Теперь давайте объединим флаги -c и -h в следующем формате команды:
# sudo du -hc /var
Здесь вы получите тот же результат, что и выше.
По умолчанию команда du обходит весь каталог. Вы можете представить, сколько времени требуется для обработки многоуровневой папки. Вы можете ограничить сканирование определенным уровнем подкаталога, используя идею du one level .
Это реализовано с помощью опции max-depth.
Например, используйте –max-depth=0 для сканирования только верхнего уровня каталога:
# sudo du -hc --max-depth=0 /var
Вы можете увеличить глубину сканирования, чтобы отображать только верхний каталог и подкаталоги первого уровня. Следующая команда поможет вам понять идею Linux du one level, изменив команду следующим образом:
# sudo du -hc --max-depth=1 /var
Команда du очень универсальна, и вы можете получить очень точную информацию об использовании диска, изменив ее с помощью флагов и опций. Вы можете получить подробную информацию об этих параметрах с помощью следующей команды man:
# man du
Вы можете использовать эту команду без sudo, поскольку для отображения документации вручную не требуются права root.
Теперь, когда вы знаете, как использовать команду du, давайте обсудим идею скрытых каталогов Linux du.
По умолчанию du включает скрытые каталоги и файлы в свои результаты. Например, если вы запустите команду du sh, скрытые файлы и каталоги автоматически включатся в выходные данные. Команда для составления списка двух скрытых файлов в этом контексте выглядит следующим образом:
# du -sh
В качестве альтернативы, вы можете использовать следующий вариант для получения списка всех файлов (включая du hidden files) и каталогов в результате:
# du -ak
Команда tree отображает графическое представление каталогов. Он различает папки и файлы с помощью цветов и показывает связь между подкаталогами и файлами с помощью строк.
дерево очень универсально, и вы можете использовать несколько флагов для изменения выходных данных команды. Например, используйте следующую команду, чтобы просмотреть размеры подкаталогов в текущем каталоге в удобочитаемом формате:
# tree -d -h
Вы также можете передать путь к каталогу в команду tree, чтобы просмотреть структуру каталога:
# tree /var
Вы можете получить доступ к подробной информации и доступным параметрам команды tree, введя:
# man tree
Важно: в некоторых дистрибутивах Linux команда tree недоступна по умолчанию. Вы можете установить ее с помощью менеджера пакетов вашего дистрибутива.
Например, вы можете установить его в Ubuntu (и других дистрибутивах на базе Debian), выполнив следующую команду:
# sudo apt-get install tree
Инструмент ncdu (NCurses Disk Usage) похож на команду tree по уровню детализации вывода команды.
Утилита подробно отображает использование диска. Типичным использованием является простой вызов утилиты из командной строки:
# ncdu
Вы увидите файлы и каталоги, их размеры в КБ (по умолчанию) и столбец # s, указывающий их относительные размеры.
Вы можете легко перемещаться по выводам с помощью стрелок вверх и Вниз, чтобы выбрать строку. Нажмите стрелку вправо для перемещения вперед по папке и стрелку влево для возврата.
Вы можете передать путь к каталогу команде ncdu, чтобы просмотреть его содержимое и размеры.
# ncdu /var
Поскольку ncdu доступен не во всех дистрибутивах, вам может потребоваться установить его, если он недоступен в вашей системе. Если вы используете дистрибутив на базе Debian, выполните следующую команду:
# sudo apt-get install ncdu
Вы можете использовать стандартную команду ls, чтобы указать размер папок и файлов в вашей системе. На выходе команды будет показан размер файлов и каталогов.
Обратите внимание, что команда ls в первую очередь предназначена для вывода списка файлов в каталоге. Таким образом, размер папки ls не очень точен. Мы настоятельно рекомендуем использовать утилиты du или ncdu для более точной оценки размеров каталогов в средах Linux.
Выполните следующую команду, чтобы вывести список каталогов с указанием их размера в текущем рабочем каталоге:
# ls -lah
Как видите, в выводе указаны каталоги и файлы в текущем каталоге. Это быстрый способ проверить размер папки с помощью команды вывода списка каталогов.
Важным вариантом использования в контексте этого руководства является перечисление только каталогов в выходных данных. Это обычное требование, когда у вас большое количество файлов и папок.
Команда ls предлагает несколько вариантов отображения этой информации в терминале.
# ls -d */
Эта команда ls использует флаг -d для перечисления каталогов вместо перечисления содержимого каталогов. Кроме того, подстановочный знак */ гарантирует, что выходные данные соответствуют “/” в каталогах.
В качестве альтернативы вы можете передать вывод команды ls в утилиту grep, чтобы использовать ту же идею перечисления только каталогов в средах Linux. Синтаксис этого варианта будет следующим:
# ls -F | grep "/$"
Если у вас есть графический интерфейс к вашей системе Linux, вы можете использовать установленные файловые менеджеры, чтобы узнать размер каталога Linux.
Преимущество этого метода в том, что вы можете выполнить эти действия и посмотреть размер конкретного каталога.
Знание того, как определять размер файлов и папок в Linux, необходимо для бесперебойной работы вашего сервера. В этом руководстве мы рассмотрели du, tree, ls и ncdu как три простых способа определения размера папки.
Понимание таких вещей, как доступные для чтения размеры, сортировка и принцип работы папок, поможет вам лучше управлять своим компьютером. Эта информация позволяет поддерживать порядок на компьютере, находить большие папки и принимать разумные решения относительно использования пространства.
Вопрос: Доступны ли графические инструменты для визуализации размеров каталога в Linux?
Да, графические инструменты, такие как Baobab и QDirStat, обеспечивают визуальное представление размеров каталога в Linux.
Вопрос: Можно ли использовать команду du в скриптах для автоматизации?
Команда du удобна для работы со сценариями и может быть интегрирована в скрипты для автоматизации задач, связанных с размером каталога.
Вопрос: Какую команду я могу использовать, чтобы определить размер каталога в Linux?
Команда du используется для получения размера каталога в Linux. Например, du -sh directory_name предоставляет размер в удобочитаемом формате.
Вопрос: Могу ли я узнать размер каталога и его подкаталогов?
Команда du по умолчанию является рекурсивной, поэтому выполнение команды du -sh directory_name включает размеры каталога и его подкаталогов.
Вопрос: Как я могу перечислить размеры всех каталогов в определенном расположении?
Вы можете использовать du -h –max-depth=1 /путь/к/родительскому каталогу, чтобы перечислить размеры всех непосредственных подкаталогов в указанном расположении.
Вопрос: Существуют ли варианты сортировки размеров каталогов?
Вы можете использовать опцию –max-depth с командой sort для сортировки размеров каталога. Например, du -h –max-depth=1 | sort -h.
Вопрос: Могу ли я узнать размеры каталогов на удаленном сервере Linux?
Вы можете использовать SSH для доступа к удаленному серверу и запустить команду du. Например, ssh user@remote_server ‘du -h directory_name’.
Вопрос: Что означает вывод размера в удобочитаемом формате?
Удобочитаемый формат (например, КБ, MB, GB) в выводе команды du упрощает пользователям понимание размеров каталогов без интерпретации необработанного количества байтов.
Вопрос: Можно ли исключить определенные каталоги из расчета размера?
Вы можете использовать опцию –exclude с параметром du, чтобы исключить определенные каталоги из расчета размера. Например, du -h –exclude=exclude_directory.
Вопрос: Как часто я должен проверять размер папок в моей системе Linux?
Проверка размеров каталогов полезна для эффективного управления дисковым пространством. Подумайте о том, чтобы включить ее в обычные задачи обслуживания системы. Обратите внимание, что вам также следует учитывать du hidden files при расчете дискового пространства, занимаемого системными и пользовательскими папками.