Анализ дискового пространства в linux

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

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

Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux

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

du --max-depth=1 -h /

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

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

du --max-depth=1 -h /var

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

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

du -ah /var/log

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

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

du … …
du code_text.txt
4    code_text.txt

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

Опция Назначение
-a Выводит объём для всех элементов, а не только для каталогов
—apparent-size Выводит действительные размеры, но не занимаемое место а диске
-B,

—block-size=РАЗМЕР

Задаёт использование определённых единиц измерения объёма
-b,

—bytes

То же самое, что и «—block-size —apparent-size=1»
-с,

—total

Выводит общий результат
-D,

—dereference-args

Указывает обрабатывать только те символьные ссылке, которые перечислены в командной строке
-d, —max-depth=N Выводит общий размер только до N-го уровня (включительно) дерева каталогов
-h,

—human-readable

Выводит размеры в удобном для человека виде
-k Эквивалентно —block-size=1K
-L,

—dereference

Разыменовывает символьные ссылки
-l,

—count-links

Складывает размеры, если несколько жёстких ссылок
-m Эквивалентно —block-size=1M
-t,

—threshold=РАЗМЕР

Исключает элементы, которые меньше РАЗМЕРА, если это значение положительно или размер которых больше, если это значение отрицательно
—time Выводит время последнего изменения в каталоге и во всех подкаталогах
—time=АТРИБУТ Выводит указанный атрибут времени (atime, access, use, ctime, status), а не время последнего изменения
—time-style=СТИЛЬ Выводит время в указанном в СТИЛЬ формате: full-iso, long-iso, iso

-X,

—exclude-from=ФАЙЛ

Исключает все эдементы, которые совпадают с шаблоном из ФАЙЛа
—exclude=ШАБЛОН Исключает элементы, совпадающие с шаблоном
-x,

—one-file-system

Пропускать каталоги из других систем

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

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

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

$ du -sh ~/home/backups
19G  /home/john/backups

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

$ du -h ~/home/backups/
3,2M /home/john/backups/vhosts/ssl
1,5M /home/john/backups/vhosts
5,0M /home/john/backups

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

$ du -ha ~/home/backups/
4,0K /home/john/backups/.directory
764K /home/john/backups/scheme.txt
3,2M /home/john/backups/vhosts/ssl
1,5M /home/john/backups/vhosts
5,0M /home/john/backups

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

$ du -ha -t2M ~/home/backups/
3,2M /home/john/backups/vhosts/ssl
5,0M /home/john/backups

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

$ du -ha ~/home/backups/
4,0K /home/john/backups/.directory
764K /home/john/backups/scheme.txt
1,5M /home/john/backups/vhosts

Команда du

Команда du используется для получения информации о том, какие файлы (и в каком объеме) используют дисковое пространство в заданном каталоге. Например, если вы хотите узнать, какой лог-файл занимает больше всего места в каталоге /var/log, вы можете использовать команду с параметром (для отображения занимаемого места) и параметром (читабельный формат):

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

Команда cd Linux

Перед тем как мы перейдем к работе с утилитой, давайте рассмотрим ее синтаксис и основные опции. Строго говоря, это вообще никакая не утилита. Ее нет в файловой системе. Это встроенная команда Bash и меняет текущую папку только для оболочки, в которой выполняется. Вот основной синтаксис команды:

$ cd опции папка_назначения

Опций всего две, это -P и -L. Они влияют на то, как будут обрабатываться символы возврата в предыдущую директорию и символические ссылки:

  • -P — позволяет следовать по символическим ссылкам перед тем, как будут обработаны все переходы «..»;
  • -L — переходит по символическим ссылкам только после того, как были обработаны «..»;
  • -e — если папку, в которую нужно перейти не удалось найти — выдает ошибку.

Дальше нужно указать директорию, в которую следует перейти. Если этого не сделать, а вызвать cd без параметров, то рабочей папкой будет выбран ваш домашний каталог. А теперь давайте рассмотрим несколько примеров работы с cd linux.

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

Для того, чтобы посмотреть, сколько места занимает файловая система, диск, файл или каталог, в Linux существует две команды: df и du.

Df (disk free) выводит список всех файловых систем по именам устройств с указанием размера, показывает точки монтирования и количество свободного/занятого пространства.

Если мы введем команду df без ключа, у нас получится примерно вот такой вывод

1
2
3
4
5
6
7
8
9

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

Синтаксис команды

1

Список опций

-а, —all – отображение абсолютно всех файловых систем, в том числе и виртуальных;

-h, —human-readable – показ буквы для обозначения размера файла/каталога;

-I, —inodes – выводится информация об inode’ах: имя владельца, права доступа, местонахождение в системе, временные штампы;

-k, —kilobytes – вывод размеров в килобайтах;

-l,—local – показывает данные о локальных файловых системах;

— output – позволяет задать формат вывода по таким параметрам: ‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ и ‘target’; по умолчанию команда показывает сразу все параметры;

-Р, —portability – вывод информации согласно стандарту Posix. Информация о конкретной файловой системе будет выводится в одну строку;

—sync – отправка системного вызова перед получением информации об использовании пространства на диске;

-t —type – вывод информации о файловых системах указанного типа;

-x —exclude type – не показывать информацию о файловых системах указанного типа.

Наиболее часто используется опция –h, поскольку она оказывает данные в килобайтах.

Вводим команду

1

В качестве вывода получаем более понятную картину

1
2
3
4
5
6
7
8
9

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

1

Получаем вывод (первые 10 строк)

1
2
3
4
5
6
7
8
9
10

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

1

Наш список существенно уменьшился

1
2
3
4
5

Можно задать файловую систему на свое усмотрение

1
2
3
4
5

Или указать интересующий раздел

1
2
3

Используя опцию –i, мы можем получить данные о состоянии inode заданной нами директории.

1
2
3

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

df –h

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

Как работает команда dd?

Сначала нужно понять как работает команда dd и что она делает. Фактически, это аналог утилиты копирования файлов cp только для блочных данных. Утилита просто переносит по одному блоку данных указанного размера с одного места в другое.

Поскольку в Linux все, в том числе, устройства, считается файлами, вы можете переносить устройства в файлы и наоборот.

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

Как загрузить утилиту dd

Скачиваем утилиту DD со специального сайта, ведь это стороннее программное обеспечение, широко доступное для пользователей.

В загруженном архиве будет несколько файлов, запустить утилиту позволит приложение dd.exe.

Синтаксис команды dd

У данной утилиты странный и слегка сложный синтаксис. Несмотря на это, он весьма прост. Пользоваться программой легко, вы быстро запомните алгоритм и привыкнете к нему.

С использованием параметра «if» потребуется прописать что копировать (источник). В “of” можно написать файл или устройство, например флешку или HDD диск.

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

  • «bs» – количество байт, которые будут читаться и записываться за один раз.
  • «cbs» – число байт, записываемых за один раз.
  • «count» – число скопированных блоков. Размер блока прописывается в опции «bs».
  • «ibs» – чтение определенного числа байт за 1 раз.
  • «obs» – записывание определенного числа байт за 1 раз.
  • «seek» – пропуск определенного числа байт в самом начале устройства во время чтения.
  • «skip» – пропуск определенного числа байт в самом начале при выводе.
  • «status» – подробность вывода.
  • «iflag», «oflag» – создание дополнительных флагов, которые нужны для ввода или вывода.
  • –help – показывает справку.
  • –version – показывает информацию о версии утилиты.

Выше описаны наиболее популярные функции, которые могут потребоваться вам при использовании программы dd Linux.

Примеры команды linux dd

Утилита чаще всего применяется для формирования образов DVD- и CD-дисков. Для их сохранения в виде образа iso существуют определенные команды. Чтобы программа не реагировала на ошибки, можно запустить фильтр noerror. Далее создается образ, который в последующем сохраняется на диск.

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

df -h

Сделаем образ раздела /home, файловая разметка /dev/sda6 в каталог /root/home.iso. В качестве аргумента укажем “noerror” – не выдавать ошибки. Также ограничим  максимальный размер файла на 4096 байт.

dd if=/dev/sda6 of=/root/home.iso bs=4096 conv=noerror

Таким образом делаются образы жестких дисков, флешек, оптических приводов.

Как видно из примера выше, в каталоге /root появился файл home.iso. В дальнейшем его можно развернуть. Он позволит восстановить испорченную в ходе использования систему, в нашем случае файлы каталога home.

Весьма полезный параметр – «bs». Он в значительной мере влияет на скорость работы самой программы. Этот аргумент дает возможность установить размер блока во время передачи информации. Предварительно задается цифровое значение, где указывается один из модификаторов.

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

Создадим образ диска. Пусть /dev/cdrom1 это наш оптический привод, cdrom.

# dd if=/dev/cdrom1 of=/home/samba/disk/obraz.iso

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

Несколько слов о резервном копировании файлов

Бэкапы (от английского «Backup») – это метод создания запасной копии важной информации на компьютере либо сервере. Его можно проводить ручным способом или автоматическим в соответствии с регулярным расписанием

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

Что такое утилита dd?

Резервное копирование (backup) — создание запасных копий серверов, может быть настроено по регулярному расписанию, а может выполняться однократно в удобный для пользователя момент.

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

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

Если вы работали с командой dd в Linux, то у вас не возникнет сложностей при её использовании в операционной системе Windows.

Для того чтобы открыть страницу помощи перейдите в каталог с исполняемым файлом, откройте консоль PowerShell и выполните команду:

./dd.exe –list

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

./dd.exe if=<исходный_диск> of=<полное_имя_копии> bs=1440k

Пример создания образа диска f на диск e:

./dd.exe if=\.f: of=e:tempdisk1.img bs=8M

Результат:

rawwrite dd for windows version 0.5. Written by John Newbigin <[email protected]>This program is covered by the GPL. See copying.txt for details 7279+1 records in 7279+1 records out

  1. if=/dev/sda – копируем весь жесткий диск sda;
  2. of=/mnt/backup/sda.img – копируем в /mnt/backup/sda.img, где каталог /mnt/backup точка монтирования диска, на котором будет содержаться образ;
  3. bs=8M – задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт).

Примечание: на целевом диске должно быть достаточно места, т.е. не менее того объема, который занимает исходный диск.

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

./dd.exe if=<полное_имя_копии> of=<целевой_диск> bs=8M

Например:

./dd.exe if=e:tempdisk1.img of=\.f: bs=8M

Результат:

rawwrite dd for windows version 0.5. Written by John Newbigin <[email protected]>This program is covered by the GPL. See copying.txt for details 1279+1 records in 1279+1 records out

Создавать резервную копию очень удобно по настроенному расписанию, о том как настроить планировщик Windows читайте в нашей статье. Это позволит автоматизировать создание копий сервера или данных.

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

</[email protected]></[email protected]>

Отображение использования Inode

Inode — это структура данных в файловых системах Unix и Linux, которая содержит информацию о файле или каталоге, такую как его размер, владелец, узел устройства, сокет, канал и т. Д., За исключением da.

При вызове с параметром команда выводит информацию об использовании inodes файловой системы.

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

Когда используется опция , каждая строка вывода включает следующие столбцы:

  • «Файловая система» — имя файловой системы.
  • «Inodes» — общее количество inodes в файловой системе.
  • «IUsed» — количество используемых inodes.
  • «IFree» — количество свободных (неиспользуемых) индексных дескрипторов.
  • «IUse%» — процент использованных inodes.
  • «Смонтировано» — каталог, в котором смонтирована файловая система.

Команда tar

Команда tar позволяет заархивировать несколько файлов в один архив.

В качестве примера, давайте создадим каталог ravesli_docs, и поместим в него три файла: a.txt, b.txt и c.txt:

Теперь с помощью команды создадим архив ravesli.tar, содержащий все файлы из каталога ravesli_docs:

Просмотрев с помощью команды содержимое текущего каталога можно заметить каталог ravesli_docs и вновь созданный нами архив ravesli.tar:

Для распаковки архива применяется команда :

Также вы можете задействовать gzip-сжатие для архива (для этого необходимо добавить параметр ):

Для распаковки сжатого архива применяется связка параметров и :

Примеры команды «df» в Linux

Есть несколько способов использования этой команды в Linux. Однако его наиболее распространенные варианты использования указаны ниже:

Пример 1: Справочное руководство «df»

Сначала мы обратимся к справочному руководству по команде «df», чтобы узнать все используемые параметры. Мы можем сделать это с помощью следующей команды:

Справочное руководство по команде «df» показано на изображении ниже:

Пример 2: Отображение пространства текущих смонтированных файловых систем в Linux

Всякий раз, когда мы используем команду «df» без каких-либо флагов или параметров, она отображает свободное пространство всех смонтированных в данный момент файловых систем в Linux следующим образом:

Результат этой команды будет следующим:

Пример 3: Отображение пространства всех файловых систем в Linux

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

Результат этого варианта команды «df» показан ниже:

Пример 4: Отображение общего пространства файловых систем в Linux

Если вы хотите получить общий объем пространства файловых систем в Linux, вы можете выполнить следующую команду:

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

Пример 5: Отображение дискового пространства в удобочитаемом формате в Linux

Дисковое пространство также может отображаться в удобочитаемом формате в Linux следующим образом:

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

Пример 6: Отображение дискового пространства в указанных единицах в Linux

Если вы хотите, чтобы дисковое пространство отображалось в указанных единицах в Linux, вы можете использовать следующий вариант команды «df»:

Вы можете заменить «unit» на «k», «m» и «h» на «килобайт», «мегабайт» и «гигабайт» соответственно.

Поскольку мы использовали флаг «-k», дисковое пространство наших файловых систем в килобайтах показано ниже:

Пример 7: Отображение дискового пространства указанной файловой системы в Linux

Вы также можете просто отобразить информацию о конкретной файловой системе в Linux. Это можно сделать с помощью следующей команды:

Вы можете заменить Filesystem именем файловой системы, информацию о которой вы хотите просмотреть.

Информация, относящаяся к нашей указанной файловой системе, показана на изображении ниже:

Команды Linux du, df

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>style=»clear:both;»>

1. Функция

Функция команды df в Linux — проверить, сколько дискового пространства занято файловой системой сервера Linux. Вы можете использовать эту команду для получения информации, например, сколько места на жестком диске занято и сколько места осталось.

Команда Linux du также проверяет используемое пространство, но, в отличие от команды df, команда Linux du проверяет дисковое пространство, занятое текущим заданным файлом или каталогом (рекурсивно отображать подкаталоги).

2. Разница между двумя

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

, Через файловую систему для быстрого получения информации о размере пространства, когда мы удаляем файл, файл не исчезает в файловой системе сразу, а временно исчезает, когда все программы не используются, он будет основан на ОС Правила освободить удаленные файлы,,Он лучше du тем, что может видеть удаленные файлы, а при расчете размера добавляет пробел в этой части, что точнее。

3. Другое

Интеллектуальная рекомендация

 …

1. Определите класс узла: 2. Класс реализации алгоритма: 3. Просмотрите двоичное дерево на следующем рисунке….

Последовательность развития 1. Создать сущность для реализации хозяйствующего субъекта. 2. Создайте IDAL для реализации интерфейса. 3. Создайте DAL для реализации методов в интерфейсе. 4. Увеличьте ин…

pinyin4j действительно сложно, вот простое приложение    …

Создать проект взломанная версия pycharm -> новый проект -> django. Project Interpreter использует среду New Virtualenv по умолчанию. settings.py Часовой пояс и язык Статические файлы Зарегистри…

Вам также может понравиться

1. Загрузите исходный код https://github.com/tzutalin/labelImg, После скачивания разархивируйте его. 2. Установите Python3.5. Не используйте 3.6! Не используйте 3.6! Не используйте 3.6! Пока что при в…

Я столкнулся с бизнес-сценарием в недавнем проекте: Перенесите таблицы из текущей базы данных в другую базу данных. Для обеспечения эффективности миграции требуется одновременная миграция данных. Для …

С развитием технологии виртуализации все больше и больше веб-проектов используют докер для развертывания и обслуживания. Мы попытались использовать docker-compose для организации веб-проекта, основанн…

После того, как язык задан, режим интерпретатора может определять представление его грамматики и одновременно предоставлять переводчика. Клиент может использовать этот интерпретатор для интерпретации …

Использование команды df

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

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

Каждая строка включает следующие столбцы:

  • «Файловая система» — имя файловой системы.
  • «1K-блоки» — размер файловой системы в 1K-блоках.
  • «Использовано» — используемое пространство в блоках по 1К.
  • «Доступно» — доступное пространство в блоках по 1К.
  • «Use%» — процент используемого пространства.
  • «Смонтировано» — каталог, в котором смонтирована файловая система.

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

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

Команда top

Команда top отображает и обновляет отсортированную информацию о текущем процессе (или процессах). Используйте её, чтобы определить, какие процессы в данный момент запущены и сколько памяти и ресурсов процессора они потребляют. Обычно бывает так, что вы запускаете приложение, и оно через минуту «умирает». Проверив соответствующий лог-файл, вы замечаете запись, указывающую на ошибку памяти:

Действительно ли вашему приложению не хватает памяти? Чтобы подтвердить эту догадку, применяем команду и смотрим, какое количество ресурсов процессора и памяти потребляется приложением. В результате этого замечаем, что основную нагрузку на процессор и память создает процесс python3.

Нажав клавишу , вы можете увидеть полную команду, которая запустила приложение.

Оказывается, это действительно ваше приложение (memeater.py). Когда у него закончится память, система убьет процесс, выдав ошибку «out-of-memory» (OOM).

Монтирование что это?

Монтирование — это подключение диска, раздела, каталога или файла в корневую систему Linux.

Как уже сказано было выше, в ОС «Линукс» имеется общая корневая система. Именно к ней подключаются все устройства и ресурсы, которыми пользуется владелец ПК. Если углубиться в эту сферу более подробно, Windows выполняет процедуры аналогично, но все процесс скрыты от пользователя.

После монтирования определённый раздел становится частью корневой системы, которая всяческими способами пытается сделать свою работу максимально прозрачной. К примеру, после монтирования оперативной памяти или удаленной системной папки пользователь может изучить ее в файловом менеджере. Допускается работа с такими разделами. Она будет аналогична работе, которая касается локального диска.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: