- Анализ дискового пространства в Linux – команды du и ncdu
- как посмотреть свободное место на диске
- Команда du – синтаксис и опции
- Примеры использования команды du
- Команда ncdu
- Примеры команд ncdu
- dd подозрительно долго работает
- Re: dd подозрительно долго работает
- Re: dd подозрительно долго работает
- Re: dd подозрительно долго работает
- Re: dd подозрительно долго работает
- Re: dd подозрительно долго работает
- Re: dd подозрительно долго работает
- Re: dd подозрительно долго работает
- Re: dd подозрительно долго работает
- 10 полезных примеров команды du для определения, сколько места занимают файлы и директории
Анализ дискового пространства в Linux – команды du и ncdu
Одной из распространённых задач в системном администрировании является оценка состояния жёстких дисков (а также и других устройств хранения), в том числе анализ использования дискового пространства. В 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:
Опция | Назначение |
-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
Узнать общий размер каталога (например с резервными копиями):
Вывод размеров всех подкаталогов (рекурсивно):
С учётом файлов:
С фильтрацией в зависимости от размера файла/каталога:
Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:
Команда ncdu
Более удобный способ найти что занимает место на диске можно с помощью команды ncdu. Утилита ncdu (Ncurses Disk Usage) способна делать всё то же самое, что и утилита du и даже немного больше. К тому же, она предоставляет пользователю удобный в использовании псевдографический интерфейс, с помощью которого можно быстро перемещаться по дереву системы, оценивая размеры интересующих элементов и папок.
Фактически, ncdu может выполнять функции полноценного браузера системы, при этом имеет большое количество опций, позволяющих настраивать псевдоинтерфейс для разных режимов работы, экспортировать и импортировать результаты работы в файлы, выполнять сортировки, экономить сетевой трафик, если это нужно, когда анализируется удалённая (например по SSH) система.
По-умолчанию, выполнение команды ncdu без параметров, выводит файловый браузер, в котором после предварительного сканирования (с показом прогресса выполнения) отображается список элементов и подкаталогов текущего каталога. По этому списку можно перемещаться, используя клавиши курсора, спускаться в подкаталоги ( ) выходить из них, при этом информация о размере представленных элементах и папок отображается «как на ладони». В строке состояния отображается общий используемый объём (Total disk usage), фактический объём (Apparent size), а также количество файлов и папок для текущего анализируемого каталога.
Основные опции команды ncdu:
Опция | Назначение |
-o ФАЙЛ | Позволяет экспортировать результаты работы в указанный файл |
-f ФАЙЛ | Загружает из файла для отображения данные ранее экспортированные с помощью опции -o |
-0 | Не никаких информационных сообщений при сканировании файловой системы |
-1 | Подобна опции -0, но выдаёт единственную строку о статусе выполненного действия. По-умолчанию используется при экспорте в файл |
-q | Тихий режим. Во время сканирования директории экран с результатами сканирования будет обновляться каждые 2 секунды, вместо 10 раз за секунду. Обычно используется при работе с удаленными системами |
-r | Включает режим «только для чтения» для отключения встроенной функции удаления. Не работает с опцией -o |
-x | Не выходить за рамки текущей используемой файловой системы |
—exclude ШАБЛОН | Исключает из подсчёта значения размеров файлов, имена которых удовлетворяют шаблону, но эти файлы будут отображаться в списке |
-X ФАЙЛ, —exclude-from-file | Исключает из подсчёта значения размеров файлов, имена которых удовлетворяют шаблону из файла, но они также будут отображаться в списке |
Интерфейс ncdu действительно очень дружественный — размеры всегда отображаются в «человекопонятных» единицах.
Для работы с псевдоинтерфейсом ncdu предусмотрен целый набор «горячих клавиш», позволяющих удалять выбранные файлы и каталоги, включать режим представления используемого пространства в процентах, отображать информацию о выбранных элементах, а также выполнять другие полезные функции. Об этом более подробно можно прочитать в соответствующих man-страницах в разделе «KEYS», используя команду man ncdu.
Примеры команд ncdu
Сделаем поиск занимаемого пространства с помощью ncdu
ncdu /
Снова видим большой каталог /var, и уже с помощью клавишь и ENTER мы можем передвигаться по каталогам. Видим каталог log
А здесь мы видим наши большие логи
Еще несколько полезных примеров.
Сканирование объёмных каталогов с экспортом/архивированием в лог для последующего использования или просмотра:
Сканирование текущей директории, экспорт результатов в лог, и последующий просмотр этих результатов в браузере ncdu:
Работа с удалённой системой:
В данной команде опция -C используется для утилиты ssh для сжатия сетевого трафика при некачественном или медленном соединении.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
dd подозрительно долго работает
сейчас загрузился с ubuntu 7.04 livecd, делаю dd if=/dev/sda of=/dev/sdb, где sda и sdb — винты по 500GB (переезжаю с Samsung HD501LJ на WD5000AAKS)
так вот длится эта операция уже больше 80 минут, а мо моим самым пессимистическим расчетам должна была закончиться уже 2 раза!
все ли нормально? почему оно так долго копирует, если линейнайя скорость чтения/записи винтов позволяет совершить эту операцию за 20 минут?
Re: dd подозрительно долго работает
Потому что по умолчанию он копирует ну очень маленькими блоками.
Пробуй dd if= of= bs=1000000
Re: dd подозрительно долго работает
500 000 000 000 / 1024 / 1024
476 837 / 50 MB/sec
В школе учились? Алгебру проходили?
Re: dd подозрительно долго работает
Это ещё будет хорошо, if your average sustained speed is 50MB/sec, it might be less 😉
Re: dd подозрительно долго работает
Re: dd подозрительно долго работает
>500 000 000 000 / 1024 / 1024
500 000 000 000 / 1000 / 1000
Re: dd подозрительно долго работает
> 500 000 000 000 / 1000 / 1000
о, блин, математег. откуда еще полгига взял?:-)
Re: dd подозрительно долго работает
Потому-что у производителей винтов уже давно 1GB=1000MB=1000*1000KB=1000*1000*1000B
Re: dd подозрительно долго работает
блок метров 10 поставь. плюс нехудо бы проверить что там с DMA (или что там у sda вместо DMA). слишком большие блоки чреваты — если не будет влазить в оперативу, начнёт своповаться
Источник
10 полезных примеров команды 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.
Источник