2.5/5 - (2 голоса)

Утилита df поставляется по умолчанию во всех дистрибутивах Linux и имеет очень простой синтаксис. Фактически вы можете просто набрать df и уже получить результат, но чтобы сделать вывод более читаемым используются дополнительные опции. Вот основной синтаксис: $ df опции устройство. Устройство указывать необязательно, но можно указать раздел диска, о котором мы хотим посмотреть информацию.

Оглавление

Команда df linux

Утилита df поставляется по умолчанию во всех дистрибутивах Linux и имеет очень простой синтаксис. Фактически вы можете просто набрать df и уже получить результат, но чтобы сделать вывод более читаемым используются дополнительные опции. Вот основной синтаксис:

$ dfопцииустройство

Устройство указывать необязательно, но можно указать раздел диска, о котором мы хотим посмотреть информацию. А теперь рассмотрим основные опции утилиты:

  • -a, –all – отобразить все файловые системы, в том числе виртуальные, псевдо и недоступные;
  • -B – изменить размер одного блока перед выводом данных, например, можно использовать BM, чтобы вывести все данные в мегабайтах;
  • -h – выводить размеры в читаемом виде, в мегабайтах или гигабайтах;
  • -H – выводить все размеры в гигабайтах;
  • -i – выводить информацию об inode;
  • -k – выводить размеры в килобайтах;
  • –output – использовать специальный формат вывода, если не задано, выводит все поля. Доступны такие варианты: ‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ и ‘target’;
  • -P – использовать формат вывода POSIX;
  • –total – выводить всю информацию про использованное и доступное место;
  • -t, –type – выводить информацию только про указанные файловые системы;
  • -x – выводить информацию обо всех, кроме указанных файловых систем;

Теперь, после основных опций рассмотрим подробнее как примеры df linux.

Синтаксис

Рассмотрим синтаксис утилиты.

df параметры устройство

Посмотрим, что говорит справка –help.

Результат выполнения df –help

Основные параметры:

  • -a, –all. показать все файловые системы.
  • -h. Опция позволяет показать информацию более наглядной. Размеры выводятся в мегабайтах и гигабайтах.
  • -H. Размеры показываются в гигабайтах.
  • -k. Данная опция показывает на экране терминала размеры в килобайтах.
  • -t, –type. Выводит информацию только про указанную файловую систему.
  • –total. Опция показывает всю информация о дисковом пространстве.

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

Чтобы посмотреть доступное пространство на всех примонтированных разделах и информацию о них достаточно набрать:

df

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

df -h

Это самое популярное сочетание опций, потому что оно дает максимально понятную информацию и уже можно судить о том, что происходит на диске. Например, мы видим, что в домашней папке уже занято 87% места и, возможно, пора что-то удалить. Если задать опцию -a, вы можете получить информацию обо всех файловых системах известных ядру, которые были смонтированы:

df -a

Здесь отображается огромное количество виртуальных файловых систем ядра. Если вы хотите вывести только информацию про реальные файловые системы на жестком диске можно использовать опцию -x чтобы отфильтровать все tmpfs:

df -x tmpfs

Также можно отфильтровать две файловые системы:

df -x devtmpfs -x tmpfs

Или же указать файловую систему, которую нужно отображать:

df -t ext4

Также можно указать интересующий вас раздел, как вы видели в синтаксисе команды:

df -h /dev/sdb6

С помощью опции -i вы можете посмотреть информацию про состояние inode в вашей файловой системе:

df -hi /dev/sdb6

Видео, о том, как пользоваться утилитой df:

Стандартное действие команды

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

    1. Для начала, соответственно, придется запустить «Терминал». Сделайте это удобным для себя образом, например, через меню приложений или стандартную горячую клавишу Ctrl + Alt + T.
    1. Здесь введите df и нажмите на Enter. Эта утилита корректно функционирует даже без прав суперпользователя, поэтому можно обойтись без аргумента sudo.
    1. Через несколько секунд вы увидите множество строк, отображающих сведения о монтированных файловых системах и дисках. Обратите внимание на столбцы, чтобы понимать, какой из них за что отвечает.

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

Основные опции df

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

  • -a, –all. Этот аргумент следует вписывать только в том случае, если вы заинтересованы в отображении абсолютно всех существующих файловых систем, включая виртуальные, недоступные и эмуляторы.
  • -h обязателен к применению при желании получить сведения о размерах не в байтах, а в мегабайтах или гигабайтах.
  • -H — при этой опции мегабайты будут опускаться, а все размеры сформатируются в гигабайты.
  • -k — данная опция используется реже остальных, поскольку является заменой -h и -H и показывает цифры в килобайтах.
  • -P пригодится тем пользователям, кто заинтересован в получении информации формата POSIX.
  • -t, –type — это одна из опций-фильтров. Укажите -t, а затем введите название файловой системы, чтобы в результатах отображались только строки, связанные с ней.
  • -x функционирует примерно так же, но по методу исключения. Введенные файловые системы после этого аргумента отображаться не будут.
  • –output. На предыдущем скриншоте видно, что все сведения показываются в столбцах. Некоторые из них не нужны пользователю, в таком случае применяется данная опция. Используйте варианты ‘pcent’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘source’, ‘size’, ‘used’, ‘ipcent’, ‘avail’, ‘target’, ‘pcent’ и ‘file’, чтобы составить собственные столбцы.

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

    1. Начнем с упрощения читаемости полученных результатов. Для этого введите df -h, чтобы отобразить строки в гигабайтах или мегабайтах, о чем уже было сказано ранее.
    1. Ознакомьтесь с появившимися строками. Как видите, таблица действительно стала понятнее.
    1. Далее можно написать df – a, если хотите показать даже недоступные и виртуальные файловые системы.
    1. Исключите одну ФС через df -x tmpfs.
    1. Если необходимо создать фильтр сразу для нескольких файловых систем, придется писать каждую опцию отдельно, что выглядит так: df -x devtmpfs -x tmpfs.
    1. Теперь затронем и отображение только выбранной системы. Для этого применяется опция -t, а команда имеет примерный вид df -t ext4, если речь идет о ФС ext4.
    1. По текущему запросу вывелась только одна строка.

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

Взаимодействие с разделами и дисками

Выше мы не уточнили одну важную деталь, поскольку решили вынести ее в отдельный раздел и рассказать подробнее. Дело в том, что к df можно применять не только опции, но и указывать определенные логические тома или жесткие диски. Тогда синтаксис обретает вид df + опции + устройство. Обратите внимание на скриншот ниже: там указана команда df -h /dev/sda1. Это означает, что при активации будет выведена информация в читабельном виде о файловой системе /dev/sda1. Если вы еще не знаете название своего диска, напишите просто df -h и определите его, отталкиваясь от свободного или общего пространства.

Сегодня вы узнали о стандартной утилите под названием df. Это довольно полезный инструмент, позволяющий быстро просмотреть список весь дисков и размер свободного пространства на них, применяя определенные опции. Если вас заинтересовала тема популярных команд в Linux, воспользуйтесь представленным по следующей ссылке руководством.

Примеры

df

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

Для вывод тех же данных в «читаемом человеческом» формате используйте ключ -h:

df -h

Вывести объем доступного пространства в каталоге:

df -h /home

Вывести только файловые системы отформатированные в ext4

df -t ext4

Вывод всех дисков кроме отформатированных в ext4

df -x ext4

Свободное место на диске (df)

Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df.

Первым делом можно просто ввести команду df без каких-либо аргументов и получить занятое и свободное место на дисках. Но по умолчанию вывод команды не очень наглядный — например, размеры выводятся в КБайтах (1К-блоках).

df Файл.система 1K-блоков Использовано Доступно Использовано% Cмонтировано в udev 1969036 0 1969036 0% /dev tmpfs 404584 6372 398212 2% /run /dev/sda9 181668460 25176748 147240368 15% / … /dev/sda1 117194136 103725992 13468144 89% /media/yuriy/5EB893BEB893935F /dev/sda6 144050356 121905172 14804772 90% /media/yuriy/2f24…….d9075

Опция -h

Опция -h (или —human-readable) позволяет сделать вывод более наглядным. Размеры выводятся теперь в ГБайтах.

df -h

Размер конкретного диска

Команде df можно указать путь до точки монтирования диска, размер которого вы хотите вывести:

df -h /dev/sda9

Размер папок на диске (du)

Для просмотра размеров папок на диске используется команда du.

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

Если нужно просмотреть размеры без рекурсивного обхода всех папок, то используется опция -s (–summarize). Также как и с df, добавим опцию -h (–human-readable).

Отсортировать папки по объёму

du -s *| sort -nr

Покажет объём в килобайтах с сортировкой – самые большие папки/файлы сверху. Если нужно в мегабайтах:

du -sm *| sort -nr

К сожалению более удобный ключик h (“human” – автовыбор кило-мега-гига) в данном случае (du -sh *| sort -nr) не подойдёт, т.к. сортировка идёт по “числам” (не учитывая, что это KB/MB/GB). Для этого придётся использовать длинную команду:

du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done

Описание утилиты free

Linux утилита free показывает свободную и занятую память в системе. Данные получаются путем разбора /proc/meminfo.

При запуске без ключей Linux утилита free выведет на экран следующие данные:

$ free total used free shared buff/cache available Mem: 3871612 3444088 123092 4800 304432 199308 Swap: 3145724 977220 2168504

Вывод содержит данные о физической памяти Mem и файле подкачки Swap. В столбцах указаны следующие параметры:

total – всего установленной памяти
used – использовано памяти (рассчитывается как total – free – buffers – cache)
free – свободно памяти
shared – разделенная память, используемая (в основном) tmpfs
buff/cache – память, используемая буферами ядра и кэшем страниц
available – доступно памяти для запуска новых приложений (без учета swap)
По умолчанию все значения перечисленных параметров указываются в кибибайтах (2 в степени 10 = 1024).

Объясняя вывод команды Free в Linux

Использовать команду Free в Linux довольно просто. Вот синтаксис для команды:

free [options]

Пример вывода для команды free может выглядеть следующим образом:

root@andreyex:~# free total used free shared buff/cache available Mem: 3079996 2122312 413020 54620 544664 727008 Swap: 0 0 0

Команда free без параметров возвращает результаты для  ‘total’, ‘used’, and ‘free’ объема памяти в вашей системе благодаря доступу к информации из ядра Linux. Она также отображает категории для ‘shared’, ‘buff/cache’, и ‘available’.

Чтобы избежать некоторой путаницы, давайте уточним, что означают эти термины.

  • Total. Эта цифра представляет всю существующую память.
  • Used вычисление общего значения оперативной памяти системы за вычетом выделенной свободной, разделяемой, буферной и кэш-памяти.
  • Free – это память, которая не используется ни для каких целей.
  • Shared, Buffer, и Cache идентифицируют память, используемую для нужд ядра / операционной системы. Буфер и кеш складываются вместе, а сумма указывается в разделе «buff/cache».
  • Available память появляется в более новых версиях free и предназначена для того, чтобы дать конечному пользователю оценку того, сколько ресурсов памяти все еще открыто для использования.

Эти уточнения важны. Неправильное присвоение значения терминам «свободная или используемая память» может привести к неправильному пониманию использования памяти вашей системой.

Это может привести к тому, что неопытный пользователь будет ложно полагать, что его система нуждается в обновлении с увеличением ОЗУ. Обратите внимание, что в предыдущих версиях не было отображения доступной памяти. Пользователи могут ошибочно полагать, что из-за высокого использования памяти их аппаратное обеспечение недостаточно мощное. Предполагается, что доступная вкладка была создана, чтобы помочь компенсировать это распространенное недоразумение.

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

Оценка «доступной» памяти, вероятно, достаточна для того, кто просто хочет знать, как их система реагирует на определенные приложения. Если вы не можете увидеть это поле, вам может потребоваться обновить ее до последней версии. Вы можете проверить текущую версию, запустив «free -V». Наша версия 3.3.15 имеет «free» в своем выводе.

Настройка вывода команды free

Вывод по умолчанию отображает информацию в килобайтах, но есть варианты для отображения в разных форматах, если вы предпочитаете. Запуск справки (free -help) отображает все возможные варианты, которые вы можете добавить.

На наш взгляд, наиболее полезная опция здесь -h, которая показывает вывод команды free в удобочитаемом формате.

root@andreyex:~# free -h total used free shared buff/cache available Mem: 2.9G 2.2G 156M 53M 558M 484M Swap: 0B 0B 0B

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

Автоматизируйте команду free и запускайте ее непрерывно или периодически

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

  • Есть параметр ‘-s’, которая запускает команду free в течение заданного интервала секунд, пока пользователь не закроет программу (^ + C).
  • Существует также «-c», который можно использовать отдельно или в сочетании с параметром секунд. Если вы введете только «-c» и целое число (n), команда будет запускаться n раз. По умолчанию используются интервалы в одну секунду.

Допустим, вы хотите открыть серию приложений и посмотреть, как влияет ваша память. Для тестового вывода мы будем использовать читаемый человеком формат, используя степени 1000 (Gb) вместо 1024 (GiB). Мы собираемся записать в течение 20 секунд, чтобы проанализировать воздействие. Мы собираем данные каждые 5 секунд, и будем делать это за 4 цикла. Вот этот пример, отформатированный для командной строки и ее вывода:

root@andreyex:~# free -h –si -s 5 -c 4 total used free shared buff/cache available Mem: 2.9G 2.8G 156M 50M 380M 402M Swap: 0B 0B 0B total used free shared buff/cache available Mem: 2.9G 2.8G 156M 50M 380M 402M Swap: 0B 0B 0B total used free shared buff/cache available Mem: 2.9G 2.9G 100M 54M 390M 401M Swap: 0B 0B 0B total used free shared buff/cache available Mem: 2.9G 3.0G 98M 55M 390M 400M Swap: 0B 0B 0B

Мы подождали несколько секунд, а затем открыли несколько вкладок браузера и получил доступ к некоторым закладкам. Стресс этих видов деятельности отмечен колебаниями объема производства. Обратите внимание, что эффект будет более выраженным при использовании выходного формата с меньшим округлением. В наших чисто демонстрационных целях это не нужно.

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

Это покажет вам только один вывод для команды free, но этот вывод будет изменяться через регулярные промежутки времени.

Как очистить кеш памяти в Linux?

Можно выполнить такую команду:

# sync; echo 3 > /proc/sys/vm/drop_caches

Увы, показать насколько реально можно освободить таким образом памяти не получится, т.к. машина совсем не нагружена. Тем не менее — разница видна:

# free -m total used free shared buffers cached Mem: 7872 4562 3309 0 2 3137

Однако, смысл выполнять такую очистку есть лишь в случае реальных проблем с памятью.

Для FreeBSD есть аналогичная утилита freecolor:

# cd /usr/ports/sysutils/freecolor && make BATCH=yes install clean# freecolor -t -m -o total used free shared buffers cached Mem: 1007 419 588 0 0 4 Swap: 1024 72 951 Total: 2031 = ( 491 (used) + 1544 (free))

Заключение

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

[spoiler title=”Источники”]
  • https://losst.ru/komanda-df-linux
  • https://www.vseprolinux.ru/komanda-df
  • https://lumpics.ru/command-df-in-linux/
  • https://ITProffi.ru/uznat-razmer-diskov-v-linux-komanda-df/
  • https://pingvinus.ru/note/df-command
  • http://website-lab.ru/article/linux-du-df/
  • https://pocketadmin.tech/ru/linux-%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B/linux-%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D0%B0-free/
  • https://andreyex.ru/operacionnaya-sistema-linux/komanda-free-v-linux-s-primerami/
  • https://rtfm.co.ua/linux-utilita-free-i-ochistka-kesha-pamyati/
[/spoiler]

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here