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

Zerox Обновлено: 08.09.2019 Debian, Linux 17 комментариев 29,507 Просмотры

Файл подкачки или своп нужен для размещения страниц памяти, которые в данный момент не используются. Своп можно сделать как отдельным разделом так и положить в файл на любой раздел(файл под своп можно создать с помощью утилиты dd). Первый вариант, конечно предпочтительней.

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

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

Установка и запуск

Инсталляция ncdu выполняется через терминал командой sudo apt-get install ncdu, также вы можете попробовать установить утилиту через Центр приложений.

Установка и запуск

Запускается же утилита через тот же терминал одноименной командой ncdu.

Будучи запущенной без параметров, ncdu сканирует содержимое текущего каталога с отображением прогресса.

Установка и запуск

И выводит его в виде списка с указанием относительного пути и размера каждого объекта.

В расположенной внизу панели указывается общий и фактический (Apparent size) размер текущего каталога, а также количество имеющихся в нём элементов, включая папки и файлы.

Установка и запуск

Для навигации по файловой системе в ncdu используются клавиши-стрелки. Клавиши вверх-вниз служат для выбора объекта, клавиши вправо-влево — для входа в выбранные каталоги и выхода из них.

Также для входа в папки можно использовать Enter. Помимо клавиш-стрелок и ввода, утилитой поддерживается еще целый ряд «горячих» клавиш, упрощающих работу с приложением.

Установка и запуск

Вот некоторые из них:

n и s — сортировка по имени и размеру; d — удаления выделенного объекта; k и j — то же, что и клавиши вверх-вниз; i — вывод сведений о файле или папке; e — показ только скрытых файлов; g — переключение в режим отображения занятого места в процентах; a — переключение в режим отображения реального занятого места на диске в байтах; r — повторный расчет занимаемого места; q и b— выход из программы в консоль.

Установка и запуск

Для расширения возможностей ncdu используются аргументы или параметры. Указываются они после команды через дефис по отдельности или вместе, например, ncdu -q или ncdu -1xo.

Вот наиболее востребованные аргументы ncdu:

Установка и запуск

-0 — отключает вывод информации при сканировании файловой системы; -1 — изменяет режим вывода информации при сканировании файловой системы; -q — включает тихий режим сканирования, обычно используется при работе с удаленными системами; -r — данные в консоли выводятся в режиме «только для чтения», что предотвращает случайное удаление файлов и папок; -o путь к файлу — экспорт результатов работы в лог; -f путь к файлу — вывод данных из созданного ранее лога; — exclude шаблон — исключает из результатов сканирования размер объектов, названия которых соответствует маске шаблона, однако сами объекты отображаются в списке.

Чтобы получить больше информации о поддерживаемых аргументах и «горячих» клавишах, выполните в терминале команду man ncdu, она выводит справку по утилите.

Установка и запуск

Да, стоит упомянуть, что использовать ncdu можно не только для анализа Linux-, но и в Windows-разделов. Если Windows установлена параллельно с Linux, вы можете выполнить в последней команду ncdu /media, перейдя таким образом в корень диска и получив доступ к смонтированным томам с Windows.

Также ncdu может использоваться для анализа содержимого дисков на компьютерах под управлением Windows 10 при условии, что в ней будет активирован компонент WSL. Установив из Windows Store дистрибутив Debian или другую популярную версию Linux, вы сможете запускать ncdu из-под нее, получая доступ к файловой системе разделов С и D хостовой операционной системы.

Установка и запуск

Свободное место на диске Linux

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

Если вам нужно узнать сколько места занимает каждая из папок (сколько весит) в Linux, тогда вам в следующую статью: Чем занято место на диске Linux.

Чтобы проверять свободное место на диске в Linux-е есть несколько способов.

1-й способ. Определение свободного места в Linux через терминал

Терминал — неотъемлимая часть Linux-а, как cmd для Windows-а. Чтобы узнать занятое и свободное место в разделах через терминал, как правило используют команду df. Наиболее частый вариант ее использования такой:

df -h

Ключ -h означает human, т.е. «человеческий» формат вывода. При использовании такого флага, Вы увидите сколько всего есть места и сколько есть доступного свободного места в мегабайтах, гигабайтах и т.п. Результат будет выглядеть примерно так:

Filesystem Size Used Avail Use% Mounted on /dev/sdb1 60G 19G 41G 32% /

Т.е. наш диск имеет размер 60 Гб, использовано на нем 19 Гб, свободно 41 Гб.

Кроме ключа -h можно так же использовать такие ключи:

-k  — вывести объем места в килобайтах, -m — вывести объем места в мегабайтах.

Есть так же и другие ключи, изучить которые можно набрав команду man df.

Иногда, когда свободное место заканчивается, вы можете столкнуться с ситуацией, когда df неверно отображает свободное место. Однако, не пугайтесь, т.к. все дело в том, что если используется файловая система Ext4, то 5% (по умолчанию) резервируется для root. Поменять размер резервируемого места можно с помощью утилиты tune2fs, примерно так: tune2fs -r 0 /dev/sdb1 где 0 — количество резервируемых блоков. Размер блока обычно равен 1024 байтам.

$ df -h /usr/local/ Файловая система Разм Исп Дост Исп% смонтирована на /dev/sda3 70G 29G 38G 43% /

Или, например, так:

$ df -h ~/tmp Файловая система Разм Исп Дост Исп% смонтирована на /dev/sdb1 466G 452G 14G 97% /home

Решение:

В этой статье будут рассмотрены способы проверки и диагностики HDD в Linux. Полученная информация поможет проанализировать состояние жестких дисков, и, если это необходимо, заменить носитель до того, как он вышел из строя неожиданно и в самый не подходящий для этого момент. Задуматься о состоянии HDD следует по некоторым признакам поведения системы в целом: резко выросла общая нагрузка на дисковую подсистему, упала скорость чтения/записи, другие проблемы косвенно указывающие что с HDD что-то не то. Ниже я приведу основные команды, выполнять их необходимо из-под учётной записи root Чтобы получить список подключенных HDD в систему, выполнить:

fdisk -l

Мы получим листинг всех подключенных накопителей, их размер и имена устройств в системе. Для того, чтобы посмотреть какие устройства и куда смонтированы, выполнить:

mount

Узнать сколько на каждом из смонтированном носителе занято пространства, выполнить:

df -h

Если мы используем софтовых RAID, его состояние мы можем проверить следующей командой:

cat /proc/mdstat

Если всё в порядке, то мы увидим что-то подобное:

Personalities : [raid1] md0 : active raid1 sdb1[0] sdc1[1] 488383352 blocks super 1.2 [2/2] [UU]

Из вывода видно состояние raid (active), название устройства raid (md0) и какие устройства в него включены (sdb1[0] sdc1[1]), какой именно raid собран (raid1), в нём два диска и они оба работают в raid ([2/2] [UU]) Ставим hdparm

apt-get install hdparm

Смотрим скорость чтения с накопителя

hdparm -t /dev/sdX

Где /dev/sdX — имя устройства которое необходимо проверить. Полезной программой для анализа нагрузки на диски является iostat, входящей в пакет sysstat Ставим:

apt-get install sysstat

Теперь смотрим вывод iostat по всем дискам в системе:

iostat -x

С интервалом 10 секунд:

iostat -x 10

Или по определённому накопителю:

iostat -x /dev/sdX

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

badblocks -v /dev/sdX

Где /dev/sdX — имя устройства которое необходимо проверить. Если программа обнаружит наличие сбойных блоков, она выведет их количество на консоль. Выполнение данной операции может занять продолжительное время (до нескольких часов) и желательно её выполнение на размонтированной файловой системе, либо в режиме read-only. Для того, чтобы записать сбойные блоки, выполняем:

badblocks /dev/sdX > /tmp/badblock

Где /tmp/badblock — файл куда программа запишет номера сбойных блоков. Теперь при помощи программы e2fsck мы можем пометить сбойные блоки и они будут в дальнейшем игнорироваться системой. ВНИМАНИЕ! Данная операция должна проводиться на размонтированной файловой системе, либо в режиме read-only! Проверенное устройство и устройство на накотором будут помечаться сбойные блоки должно быть одно и тоже!

e2fsck -l /tmp/badblock /dev/sdX

Если были обнаружены сбойные блоки на диске, есть тенденция появления новых бэдблоков, необходимо задуматься о скорейшем копировании данных и замене данного носителя. Приведённые выше команды помогут выявить сбойные блоки и пометить их как таковые, но не спасут «сыпящийся» диск. Также в своём инструментарии полезно использовать данные полученные из S.M.A.R.T. дисков. Ставим пакет smartmontools

apt-get install smartmontools

Получаем данные S.M.A.R.T. жесткого диска:

smartctl -a /dev/sdX

Где /dev/sdX — имя устройства которое необходимо проверить. Вы получите вывод атрибутов S.M.A.R.T., значение каждого из которых хорошо описаны в Википедии

Для сохранности данных настоятельно рекомендуем делать backup (резервное копирование). Это поможет в кратчайшие сроки восстановить необходимые данные и настройки в форс-мажорных обстоятельствах.

—- Актуальность: 2012/02/29

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

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

  • du /home/user/Desktop/ — эта опция позволяет посмотреть на Desktop (Рабочий стол) пользователя и увидеть информацию об использовании дискового пространства файлами и папками, расположенными на вашем рабочем столе (все подпапки также включены).
  • du -h /home/user/Desktop/ — также как и df, позволяет увидеть информацию в более удобном для человека формате.
  • du -sh /home/user/Desktop/ — опция -s даст нам полный объем определенной папки (в этом случае покажет полный объем папки Desktop).
  • du -m /home/user/Desktop/ — также как и с df, предоставит вам информацию в Мегабайтах (вы можете использовать -k, чтобы увидеть информацию в Килобайтах.
  • du -h —time /home/user/Desktop/ — это даст вам информацию, основанную на последнем изменении файлов и папок.
  • du —help — покажет вам другие полезные команды, которые вы можете использовать и информацию о них.
Посмотреть используемое место на диске Linux

Узнайте, что занимает занимаемое дисковое пространство

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

Читайте также:  Как сделать скриншот экрана на компьютере и телефоне

df -h -t ext4

Узнайте, что занимает занимаемое дисковое пространство

78% дискового пространства занято в первом разделе первого жесткого диска. Мы можем использовать команду du , чтобы показать, какие папки содержат больше всего данных. При вводе команды du без параметров отобразится список всех каталогов и подкаталогов под каталогом, в котором была введена команда du . Если вы делаете это из домашней папки листинг будет очень длинным.

дю

Формат вывода очень прост. Каждая строка показывает размер и имя каталога. По умолчанию размер указывается в блоках по 1К. Чтобы du использовал другой размер блока, используйте параметр -B (размер блока).Чтобы использовать эту опцию, введите du , пробел, а затем -B и букву из списка K, M, G, T, P, E, Z и Да, как мы делали выше для df . Чтобы использовать блоки 1M, используйте эту команду:

du -BM

Узнайте, что занимает занимаемое дисковое пространство

Как и df , du имеет удобочитаемую опцию, -h , которая использует диапазон размеров блоков в зависимости от размера каждого каталога. ,

du -h

Опция -s (резюмировать) дает общее количество для каждого каталога без отображения подкаталогов в каждом каталоге. Следующая команда просит du вернуть информацию в кратком формате в удобочитаемом формате для всех каталогов (*) ниже текущего рабочего каталога.

du -h -s *

Узнайте, что занимает занимаемое дисковое пространство

Папка Picture содержит больше всего данных. Мы можем попросить du отсортировать папки по размеру от наибольшего к наименьшему.

du -sm Pictures/* | sort -nr

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

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

Узнайте, что занимает занимаемое дисковое пространство

Как найти файлы и папки занимающие больше всего места в Linux

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

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

Кстати, проблемы исчерпания места на диске в Linux бывают весьма нетривиальными, смотрите к примеру «Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть».

1. ncdu для очистки папок

Программа ncdu является одним из самых удобных вариантов — она просто отлично справляется со своими задачами. У неё Ncurses интерфейс, то есть для обычных пользователей это будет просто очень удобно, а для администраторов, обслуживающих удалённые веб-сервера без графического интерфейса она также подойдёт, поскольку Ncurses не требует графического окружения рабочего стола.

Программа очень интуитивная и проста в использовании, достаточно запустить её:

ncdu -x /

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

2. Как с помощью du найти самые большие папки

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

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

# Для пользователей с американской локалью sudo du -Phx | grep '[0-9\.]\+G' # Для других: sudo du -Phx | grep '[0-9\,]\+G'

Вместо нужно вписать директорию в системе, например, если мы хотим начать с корневой директории:

sudo du -Phx / | grep '[0-9\,]\+G'

Как найти файлы и папки занимающие больше всего места в Linux

Эта команда покажет только папки, размер которых измеряется гигабайтами.

Следующая команда делает нечто похожее, но сортирует папки по возрастанию размера и показывает только 10 самые тяжёлые:

sudo du -Phx | sort -hr | head

Читайте также:  Debian против Ubuntu Vs. Linux Mint: какой дистрибутив использовать?

Пример для анализа всей корневой файловой системы:

sudo du -Phx / | sort -hr | head

В этих командах:

  • опция -P говорит не следовать по символическим ссылкам (это может привести к тому, что файлы будут посчитаны дважды)
  • опция -x означает оставаться на одной файловой системе (очень полезно, не будут посчитаны смонтированные диски, а также диски с виртуальной файловой системой)
  • опция -h печатает размер файлов в простом для восприятия человеком формате
  • sudo для повышения привилегий — позволяет команде считать размер всех директорий и не выводить множество ошибок из-за недостатка прав на чтения папок

Чтобы указать корневую директорию, используйте /, чтобы указать текущую директорию, используйте . (точка). В любой из перечисленных выше команд вы можете указывать определённую папку, чтобы начать сбор информации с неё. Например, когда вы нашли папку с большим размером и хотите узнать больше подробностей о ней, укажите её в одной из команд.

3. Как найти большие файлы

Если есть основания думать, что нехватка места на диске заключается в том, что его заняли какие-то большие файлы (например, файлы логов какого-то приложения) а не множество маленьких файлов, то с помощью команды find можно выполнить поиск файлов, размер которого больше определённого, например:

sudo find / -size +10M

Эта команда найдёт все файлы, размер которых больше 10 мегабайт.

В этой команде вместо / (означает искать начиная с корневой директории) вы можете указать любую другую директорию. А вместо +10M вы можете указать любое значение и другой префикс, например вместо M (мегабайты) указать G (гигабайты).

Командная утилита du

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

du -h /home

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

du -h ~/Загрузки/ | sort -h

Опция -h указывает, что нужно выводить размер в понятном для человека формате . Так же есть еще несколько интересных опций:

  • -b — выдавать размер в байтах
  • -k — показывать размер в килобайтах
  • -m — размер в мегабайтах
  • -x — не учитывать каталоги, находящиеся в других файловых системах.
  • -a — отображает использование диска всеми файлами, а не только каталогами.

du -ah

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

du -ch

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

Теперь Вы знаете как минимум два способа — как узнать или проверить свободное место на диске linux, в терминале и графической оболочке.

Подключить сетевой диск

Расскажу, как быстро выполнить монтирование наиболее популярных сетевых дисков:

  • по smb
  • по nfs

В общем случае, подключить сетевой диск по smb можно следующей командой.

# mount -t cifs //10.1.4.4/backup /mnt/backup -o user=admin,password=passadmin

10.1.4.4/backup сетевая шара
/mnt/backup локальная директория, куда монтируем сетевой диск
admin пользователь
passadmin пароль

Если команда не отработает и будет ошибка, установите отдельно cifs-utils.

# apt install cifs-utils

С монтированием по smb есть куча нюансов. Сколько различных ошибок я ловил при этом — не счесть. То кодировка не совпадает, то в пароле спец. символы, то шара в домене и надо правильно указать домен. Если в пароле есть спец. символы, пароль можно взять в одинарные кавычки. Домен можно указать через слеш, через плюс, через @. Пробуйте разные варианты, если не получается. Так же имя пользователя с доменом можно тоже брать в кавычки, иногда помогает. Например, вот так — ‘domain\admin’. Так же обращайте внимание на версию протокола smb. Ее можно принудительно указывать через опцию vers. Так же можно вывести более подробный лог подключения.

# mount -t cifs -vvv //10.1.4.4/backup /mnt/backup -o vers=2.1,user=admin,password=passadmin

Для подключения сетевого диска по nfs, необходимо установить на машину nfs-client, который находится в пакете nfs-common.

# apt install nfs-common

После этого можете подключить сетевую папку по nfs:

# mount -t nfs 10.1.4.4:/backup /mnt/backup

С nfs, так же как и с cifs, можно вывести расширенный лог и принудительно указать версию.

# mount -t nfs -vvv -overs=2 10.1.4.4:/backup /mnt/backup

Перед подключением диска можете проверить, а если вам вообще доступ к сетевому диску на сервере:

# showmount —exports 10.1.4.4

Вы должны увидеть список nfs дисков, к которым у вас есть доступ. Если список пуст, подмонтировать ничего не получится.

Разметка дисков (разделение на разделы) в Linux

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

Диск может быть GPT или MBR (показывается как dos). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.

Разметка дисков (разделение на разделы) в Linux

Для создания диска выберите Новый:

Введите его размер.

Если нужно, поменяйте тип раздела:

Разметка дисков (разделение на разделы) в Linux

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