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

Обновлено: 06.07.2024

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

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

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

Как узнать свободное место в GUI

Новичкам проще обращаться с графическим интерфейсом системы. С него и начнем.

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

sudo apt-get install gparted

Запускается программа из главного меню. Наберите в поиске gparted или выполните в терминале:

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

gparted

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

Как я говорил, в этой утилиты еще очень много возможностей, но они выходят за рамки этой статьи.

Узнать свободное место на диске Ubuntu/Gnome можно более простым способом, с помощью утилиты системный монитор. Откройте утилиту системный монитор с помощью Dash или главного меню:

sysmon-ubuntu

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

sys-monintor

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

В KDE такая функция не поддерживается системным монитором. Но зато кое-какую информацию можно узнать в утилите информация о системе:

kinfocenter

Также Dolphin, файловый менеджер KDE, позволяет отображать свободное пространство на текущем разделе в строке состояния. Для этого откройте Настроить Dolphin, Главное, Строка состояния и включите галочку Показывать сведения о свободном месте:

dolphin

Вот так это будет выглядеть:

dolphin1

Такая же функция раньше была в Nautilus, но в новых версиях строка состояния в этом файловом менеджере отключена.

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

baobab

В KDE есть свой аналог, это fileslight, принцип работы такой же.

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

Узнать свободное место в терминале

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

Утилита df, позволяет проанализировать свободное пространство на всех подключенных к системе разделах:

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

df1

Как видите, кроме размера здесь отображается файловая система и точка монтирования.

Если хотите посмотреть только свободное место в определенном каталоге, его можно указать:

df2

Так же само можно указать устройство:

Кроме опции -h утилита поддерживает и другие опции:

  • -m - отображать размер в мегабайтах
  • -T - отображать тип файловой системы
  • -a - включить в список все файловые системы
  • -i - отображать используемые иноды

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

Мы также можем отсортировать вывод, чтобы его было более удобно анализировать:

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

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

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

Выводы

Вот и все, теперь вы знаете как узнать свободное место на диске linux. Конечно, это еще далеко не все способы для решения этой задачи, но этого будет вполне достаточно. Если у вас остались вопросы или вы пользуетесь другим способом, опишите его в комментариях!

SSH – сетевой протокол , с помощью которого можно удалённо управлять сервером (операционной системой).

Запускаем файл putty.exe, в появившемся окне вводим IP адрес вашего сервера, и жмем на кнопу Open, пример представлен ниже на рисунке (в качестве примера взят тестовый сервер с IP 91.231.87.169 ).

ssh1

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

ssh2

Важно! При наборе пароля или вставке пароля в данное окно, символы пароля не отображаются, но пароль вводится. Клавиши Ctrl+V в данном окне не работают. Чтобы вставить скопированный пароль, нужно нажать клавиши Shift+Ins либо 1 раз нажать правой кнопкой мыши.

После ввода пароля появится командная строка.

ssh3

Теперь вводим в командной строке команду:

ssh4

Теперь выполняем ряд команд для определения файлов/папок, которые заняли место:

ssh5

В данном примере видим, что больше всего места занято в папке var 9.2G . Переходим в данную папку и выполняем поиск по занятому месту:

ssh6

Наибольшее занятое место у папки log (полный путь /var/log/), переходим в нее:

Важно! Перед log нет косой черты «/» т. к. мы уже находимся в папке / var/ , после того как набрали cd /var .

ssh7

Видим, что место занято файлами логов test.log 9.1G и test2.log 3.3 G.

Обнулим данные файлы, удалять их не стоит.

ssh8

Теперь файлы test.log и test2.log занимают всего по 4Кб каждый.

Проверяем общее место:

ssh9

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

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

Это конкретный пример, в котором место было занято логами! Может так случится, что место занято другими файлами (файлами сайтов). В большинстве случаев это так же логи сайта либо же кеш (стоит проверить папки сайта cache/ , очистить содержимое). Желательно очищать кеш через админ-панель сайта. Чтобы вернуть панели рабочее состояние, выполняем чистку наибольших файлов папки / var/log/ хотя бы 100Мб освобождаем, и тогда сможем подключится к админ-панели сайта и очистить кеш.

. Не в коем случае не чистим файлы папок, которые отвечают за работу ОС и служб сервера.

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

Одной из распространённых задач в системном администрировании является оценка состояния жёстких дисков (а также и других устройств хранения), в том числе анализ использования дискового пространства. В 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.


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

покажет сколько занято всего
df -i

покажет сколько файлов в определенных папках
ls -R /var/www/*/data/mod-tmp | wc -l

удалить файлы

find /var/www/*/data/mod-tmp -name "sess_*" -type f -exec rm <> ;

информация о свободном месте на дисках
df
или (в гигабайтах)
df -h
или (в мегабайтах)
df -m

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

Можно с сортировкой по размеру (в байтах)cd /var && du -sk * | sort -rn


свободная память и загрузка процессора
vmstat

различные параметры за последние сутки
sar

отобазить список папок и файлов текущего каталога
ls

сменить папку на xx_dir
cd xx_dir

показать текущее местоположение
pwd

перегрузить сервер
reboot

запуск apache
apachectl startssl

остановка apache
apachectl stop

перезапуск mysql
/usr/local/etc/rc.d/mysql-server restart

посмотреть свободную память
free -m

mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/дамп.sql - создание дампа дамп.sql

mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/дамп.sql - заливка дампа дамп.sql в базу данных mysql

cd /путь/ - перейти в каталог /путь/

Как массово сменить права на файлы в разных папках через ssh
chmod -R xxx file
где -r — рекурсивно, т.е. включая все папки и файлы в указанной папке
ххх = набор прав для доступа к файлу/папке (0555, 0777 и пр.)
file = папка или файл. Для смены массово прав по всему домену нужно в данном случае указывать именно самую верхнуюю папку (/published/ или /www/ и т.д.)
Примеры:

проставить права 644 только на файлы:
find /path/to/dir -type f -exec chmod 0644 <> ;
проставить права 755 только на каталоги:
find /path/to/dir -type d -exec chmod 0755 <> ;

man ИмяКоманды — помощь по работе с командой
Пример: man find — выведет информацию о команде find
Выход из мануала через ssh-клиент — клавиша «Pause/Break»

ls — список файлов и каталогов
ls -al — форматированный список со скрытыми каталогами и файлами
ls -lia — вывод списка всех файлов и папок в текущей директории отсортированных по алфавиту с отображением размеров директорий и файлов.
cd dirname — сменить директорию на dirname (cd — change directory)
cd

— смена директории на домашний каталог, а также команда без «

» (тильды) делает то же самое в большинстве шелов
pwd — показать текущий каталог
pwd

ps — вывести ваши текущие активные процессы
ps -aux — вывести все процессы (от рута)
top — показать все запущенные процессы
kill pid — убить процесс с id pid
killall proc — убить все процессы с именем proc
bg — список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg — выносит на передний план последние задачи
fg n — вынести задачу n на передний план

chown root /filename — смена владельца файла/директории /filename на root
chown root:group /filename смена владельца файла/директории /filename на root и смена группы на group
chown -hR root /filename смена владельца файла/директории /filename на root и всех находящихся в ней файлов на root
Дополнительные опции: man chown.
chmod user file — сменить права file на user, раздельно для пользователя, группы и для всех добавлением:
? 4 — чтение (r)
? 2 — запись (w)
? 1 — исполнение (x) Примеры:
chmod 777 — чтение, запись, исполнение для всех (потенциальная угроза безопасности)
chmod 755 — rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.

ssh user@host — подключится к host как user
ssh -p port user@host — подключится к host на порт port как user
ssh-copy-id user@host — добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

grep pattern files — искать pattern в files
grep -r pattern dir — искать рекурсивно pattern в dir
command | grep pattern — искать pattern в выводе command
locate file — найти все файлы с именем file
find | grep text — найти текст text во всех файлах текущей директории
find / -name vasy* — найти файлы и папки с названием vasy*

grep -rl ‘что_ищем’ /путь — найти файлы в теле которых ‘что_ищем’

date — вывести текущую дату и время
cal — вывести календарь на текущий месяц
uptime — показать текущий аптайм
w — показать пользователей онлайн
whoami — имя, под которым вы залогинены
finger user — показать информацию о user
cat /proc/cpuinfo — информация ЦПУ
cat /proc/meminfo — информация о памяти
man command — показать мануал для command
df — показать инф. о использовании дисков
du — вывести «вес» текущего каталога
du -sh cколько весит папка?
free — использование памяти и swap
unamе -a — информация о ядре
whereis app — возможное расположение программы app
which app — какая app будет запущена по умолчанию

tar cf file.tar files — создать tar-архив с именем file.tar содержащий files
tar xf file.tar — распаковать file.tar
tar czf file.tar.gz files — создать архив tar с сжатием Gzip
tar xzf file.tar.gz — распаковать tar с Gzip
tar cjf file.tar.bz2 — создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 — распаковать tar с Bzip2
gzip file — сжать file и переименовать в file.gz
gzip -d file.gz — разжать file.gz в file

Установка из исходников:
./configure
make
make install
Установка собранных пакетов:
dpkg -i pkg.deb — установить пакет (Debian, Ubuntu)
rpm -Uvh pkg.rpm — установить пакет (RPM RedHatm CentOS)

cron — выполнение заданной команды в определенное время
ps aux |grep 'part_of_the_name_of_your_script'|awk '' |xargs kill -9 <> - убить все процессы скрипта, где part_of_the_name_of_your_script - часть его имени

Ctrl+C — завершить текущую команду
Ctrl+Z — остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D — разлогиниться, тоже самое, что и exit
Ctrl+W — удалить одно слово в текущей строке
Ctrl+U — удалить строку
!! — повторить последнюю команду
exit — выход


Недавно я перешел с Windows Server 2016 на Unix-сервер FreeBSD.

Мне нужно проверить дисковое пространство в командной строке Unix.

Как узнать информацию об использовании дискового пространства с помощью параметров командной строки Unix?

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

Проверка места на диске в операционной системе Unix

Как отобразить статистику использования диска Unix

Посмотрите использование диска для всех файлов в текущем каталоге:

Чтобы получить информацию об использовании диска деревом каталогов и каждым из его поддеревьев для / home / vivek, введите:

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

Хотите увидеть общее использование диска в дереве каталогов? Попробуйте: введите:

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

Далее давайте покажем имя и размер всех файлов Py (Python) в определенном каталоге. Также отобразит общий итог:

du -ch /home/vivek/project/mgt1.2/*.py

Получение справки о команде du

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

man du
whatis du

Как отобразить информацию о свободном месте на диске в Unix

Чтобы просмотреть количество свободного места в файловой системе, попробуйте команду df:

Хотите показать информацию о /jails/www/ файловой системы в формате 1024-байтовых блоков, запустите:

Аналогично, чтобы показать информацию о файловой системе /jails/www в формате блоков MB, введите:

Как насчет формата блоков GB для файловой системы /jails/www? Попробуйте:

Показать общий итог

Передайте опцию -c:

Некоторые версии операционной системы Unix могут отображать вывод в удобочитаемом формате.

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

См. Справочную страницу команды df или введя следующую команду для получения дополнительной информации:

Вывод

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

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