Команда du linux описание

Обновлено: 29.06.2024

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

Как использовать команду du

Общий синтаксис команды du следующий:

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

При выполнении без какой-либо опции du отображает использование диска для данного файла или каталога и каждого из его подкаталогов в байтах.

Вы также можете передать команде du несколько файлов и каталогов в качестве аргументов:

Если вы запустите du для файла или каталога, для которого у вас нет прав, вы получите что-то вроде «du: невозможно прочитать каталог». В этой ситуации вам нужно будет добавить к команде sudo .

du много опций, мы выделим только наиболее часто используемые.

Параметр -a указывает du сообщать об использовании дискового пространства каждым файлом в каталоге.

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

Например, чтобы получить общий размер /var/lib и всех его подкаталогов, вы должны выполнить следующую команду:

Мы используем sudo потому что большинство файлов и каталогов внутри каталога /var/lib принадлежат пользователю root и не доступны для чтения обычным пользователям. Результат будет выглядеть примерно так:

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

Параметр -c указывает du сообщать общую сумму. Это полезно, когда вы хотите получить объединенный размер двух или более каталогов.

Если вы хотите отобразить использование диска подкаталогами n-уровня, используйте параметр --max-depth и укажите уровень подкаталогов. Например, чтобы получить отчет о каталогах первого уровня, вы должны использовать:

du также позволяет использовать шаблон оболочки. Например, чтобы получить размер всех каталогов, начинающихся с «Do» в вашем домашнем каталоге, вы должны запустить:

Использование du с другими командами

Команду du можно комбинировать с другими командами с конвейерами.

Например, чтобы напечатать 5 самых больших каталогов внутри каталога /var вы должны передать вывод du в команду sort чтобы отсортировать каталоги по их размеру, а затем передать результат в команду head которая распечатает только 5 верхних каталогов:

Выводы

К настоящему моменту вы должны хорошо понимать, как использовать команду du .

В отличие от df который выводит информацию об использовании диска смонтированными файловыми системами , команда du дает вам оценку дискового пространства, используемого данными файлами или каталогами.

Вы можете просмотреть все доступные параметры команды du , набрав в терминале man du .

Команда Linux du (Disk Usage, т.е. использование диска) – это стандартная команда Unix/Linux, используется для показа суммарной информации об использовании диска файлами и директориями. Команда du имеет много опций параметров и может выводить результаты в различных форматах. Команда du также отображает размеры файлов и директорий в рекурсивной манере.


Эта статья показывает и объясняет 10 полезных примеров команды du, которые должны помочь вам в определении размеров файлов и директорий в Linux.

1. Для определения информации о сводном использовании диска деревом директории и каждой поддиректорией, введите команду вида:

Вывод вышеприведённой команды отображает количество блоков диска в директории /home/mial а также в субдиректориях.

2. Использование с командой du опции -h предоставляет результаты в формате, понятном человеку. Имеется ввиду, что размеры будут представлены в байтах, килобайтах, мегабайтах, гигабайтах и т.д.

3. Чтобы узнать общий размера директории, т.е. сколько место занимает папка и её подпапки, используется опция -s.

4. Использование с командой du флага -a отображает использование диска всеми файлами, а не только каталогами.

5. Использование флага -a вместе с -h отображает использование диска всеми файлами и папками в понятном для человека формате. Вывод ниже легче для восприятия, поскольку он показывает размеры в килобайтах, мегабайтах и т.д.

6. Для определения использования диска деревом директории с её поддеревьями в килобайтах, используйте опцию -k (отображает размер в единицах по 1024 байта).

7. Для получения суммарного использования диска деревом директории вместе с его поддиректориями в мегабайтах используйте -mh. Флаг -m считает блоки в единицах мегабайты, а -h здесь для понятного человеку формата.

8. Флаг -c выводит последнюю строку с суммарным размером («итого»).

9. Следующая команда подсчитывает и отображает использование диска всеми файлами и директориями, но исключает файлы, которые соответствуют заданному образцы. В примере команда при расчёте размера директории исключает файлы «.txt». Таким образом вы можете исключить любые форматы файлов, используя флаг --exclude. Обратите внимание на вывод – в нём нет записей с файлами txt.

10. Для показа вместе с информацией о занимаемом месте информации о времени последней модификации любого файла в директории или в любых поддиректориях используется флаг --time.

Одной из распространённых задач в системном администрировании является оценка состояния жёстких дисков (а также и других устройств хранения), в том числе анализ использования дискового пространства. В Linux для таких целей давно существуют утилиты с удобным графическим интерфейсом, предоставляющих наглядную информацию о занятом пространстве в виде диаграмм и графиков. Однако, для системных администраторов, обслуживающих «серьёзные» сервера на основе Linux-систем, графический интерфейс — чрезмерное удовольствие, не оправдывающее затрачиваемых на него ресурсов. Поэтому необходимо уметь обходиться средствами командной консоли, используя специализированные консольные утилиты для анализа дискового пространства, которые доступны в виде двух команд — du и ncdu.

как посмотреть свободное место на диске

Давайте узнаем сколько у нас свободного места в системе. Узнать это можно с помощью команды


как видим у нас диск занят на 97%, и нам необходимо узнать что у нас заняло место. Давайте этим займемся.

Команда du – синтаксис и опции

Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T. Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux.

Итак давайте узнаем что у нас занимает место

Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий


Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var

видим что это папка log


Теперь смотрим /var/log


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

Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:

Если дать команду du без параметров, то по-умолчанию будет выведен список всех каталогов и подкаталогов для текущего каталога. Также по-умолчанию единицей измерения объёма является 1024 байта или 512 байт, в зависимости от конфигурации используемой системы:

Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:

Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.

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

Узнать общий размер каталога (например с резервными копиями):

Вывод размеров всех подкаталогов (рекурсивно):

С учётом файлов:

С фильтрацией в зависимости от размера файла/каталога:

Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:

Команда ncdu

Более удобный способ найти что занимает место на диске можно с помощью команды ncdu. Утилита ncdu (Ncurses Disk Usage) способна делать всё то же самое, что и утилита du и даже немного больше. К тому же, она предоставляет пользователю удобный в использовании псевдографический интерфейс, с помощью которого можно быстро перемещаться по дереву системы, оценивая размеры интересующих элементов и папок.

Фактически, ncdu может выполнять функции полноценного браузера системы, при этом имеет большое количество опций, позволяющих настраивать псевдоинтерфейс для разных режимов работы, экспортировать и импортировать результаты работы в файлы, выполнять сортировки, экономить сетевой трафик, если это нужно, когда анализируется удалённая (например по SSH) система.

По-умолчанию, выполнение команды ncdu без параметров, выводит файловый браузер, в котором после предварительного сканирования (с показом прогресса выполнения) отображается список элементов и подкаталогов текущего каталога. По этому списку можно перемещаться, используя клавиши курсора, спускаться в подкаталоги (<Enter>) выходить из них, при этом информация о размере представленных элементах и папок отображается «как на ладони». В строке состояния отображается общий используемый объём (Total disk usage), фактический объём (Apparent size), а также количество файлов и папок для текущего анализируемого каталога.

Основные опции команды ncdu:

Интерфейс ncdu действительно очень дружественный — размеры всегда отображаются в «человекопонятных» единицах.

Для работы с псевдоинтерфейсом ncdu предусмотрен целый набор «горячих клавиш», позволяющих удалять выбранные файлы и каталоги, включать режим представления используемого пространства в процентах, отображать информацию о выбранных элементах, а также выполнять другие полезные функции. Об этом более подробно можно прочитать в соответствующих man-страницах в разделе «KEYS», используя команду man ncdu.

Примеры команд ncdu

Сделаем поиск занимаемого пространства с помощью ncdu
ncdu /


Снова видим большой каталог /var, и уже с помощью клавишь и ENTER мы можем передвигаться по каталогам. Видим каталог log


А здесь мы видим наши большие логи


Еще несколько полезных примеров.

Сканирование объёмных каталогов с экспортом/архивированием в лог для последующего использования или просмотра:

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

Работа с удалённой системой:

В данной команде опция -C используется для утилиты ssh для сжатия сетевого трафика при некачественном или медленном соединении.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Команда du в Linux

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

Как использовать du команду

Общий синтаксис du команды выглядит следующим образом:

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

При выполнении без какой-либо опции du отображает использование диском данного файла или каталога и каждого из его подкаталогов в байтах.

Вы также можете передать несколько файлов и каталогов du команде в качестве аргументов:

Если вы запустите du файл или каталог, для которого у вас нет прав, вы получите что-то вроде «du: not read directory». В этой ситуации вам нужно добавить команду с sudo .

du Есть много вариантов, мы опишем только наиболее часто используемые.

-a Опция указывает du сообщать об использовании дискового пространства каждого файла в каталоге.

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

Например, чтобы получить общий размер /var/lib и все его подкаталоги, вы должны выполнить следующую команду:

Мы используем, sudo потому что большинство файлов и каталогов внутри /var/lib каталога принадлежат пользователю root и недоступны для чтения обычным пользователям. Вывод будет выглядеть примерно так:

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

-c Опция указывает du сообщить о итога. Это полезно, когда вы хотите получить объединенный размер двух или более каталогов.

Если вы хотите отобразить использование диска в подкаталогах n-уровня, используйте --max-depth опцию и укажите уровень подкаталогов. Например, чтобы получить отчет о каталогах первого уровня, которые вы используете:

Поведение du утилиты по умолчанию заключается в повторном использовании дискового пространства, используемого каталогом или файлом. Чтобы найти видимый размер файла, используйте --apparent-size переключатель. «Очевидный размер» файла - это количество данных в нем.

du также позволяет использовать шаблон оболочки. Например, чтобы получить размер всех каталогов, начинающихся с «Do» в вашем домашнем каталоге, вы должны выполнить:

Использование du с другими командами

du Команда может быть объединена с другими командами с трубами.

Например, чтобы напечатать 5 крупнейших каталогов внутри /var каталога , вы пройти выход du в sort команду сортировать каталоги по их размеру , а затем трубе вывода к head команде , которая будет печатать только топ 5 каталогов:

Вывод

К настоящему времени вы должны хорошо понимать, как использовать du команду.

в отличие от того, df какой выводит информацию об использовании диска смонтированными файловыми системами , du команда дает оценку дискового пространства, используемого данными файлами или каталогами.

Вы можете просмотреть все доступные du опции команд, набрав man du в своем терминале.

Читайте также: