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

Приведу ниже примеры команд которыми можно посмотреть размер папок в Linux.

Как это работает?

Если вы не впервые на страницах моего сайта, вы поняли, что в Windows много скрытых инструментов, о которых сама Windows ни одному пользователю предпочитает не рассказывать. Одна из таких бесчисленных встроенных утилит . Её основное предназначение – системные операции с файлами из командной строки. Она-то и поможет нам создать файл любого размера с любым понравившимся нам расширением. Да, нас снова понадобится консоль команд (работаем с правами админа). В Windows XP её не ищите – утилита входит в комплект Windows со времён Vista.

Что такое байт. Сколько бит в байте

Вы, наверное, слыхали про азбуку Морзе, где комбинации длинных и коротких сигналов (точек и тире) расшифровывались в слова. А если взять комбинацию из 8 цифр, каждая из которых может быть единицей или нулем, то получим 256 комбинаций, чего хватит для отображения и цифр и букв, причем и не одного алфавита. И вот эти 8 бит называются байтом . Таким образом в байте 8 бит.

Бит — это минимальная единица. Она обозначается маленькой буквой «б». Следом за ней идет байт. Он уже обозначается большой буквой «Б».

Как в bash узнать размер файла

Радмир Рамазанов Linux 1

Очень часто приходится сравнивать размеры файлов, будь то бэкапы, документы или любые другие файлы. Мне например очень пригодилось при работе с бэкапами, так как иногда архиватор создает бэкапы с нулевым размером (32 байта). Чтобы избежать таких “косяков” в своих скриптах я использую команду:

filesize=$(stat -c%s «$file»);

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

Читайте также:  Как переименовать папку через командную строку?

#если бэкап меньше 1 мбайта, то подозрительна чёта 8( filesize=$(stat -c%s «$file»); if [ «$filesize» -lt «1000000» ]; then echo «WARNING! File size of $file is small — $filesize byte» >> $backupdir/$logfile; fi

Затем весь лог-файл отправляется на почту. Об этом написано в посте Как отправить содержимое файла на почту в bash

Похожие записи

bash linux

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

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

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

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

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

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

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

ncdu -x /

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

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

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

Читайте также:  Btrfs команды. Файловая система Btrfs. Создание файловой системы btrfs

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

# Для пользователей с американской локалью 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

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

sudo du -Phx / | sort -hr | head

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

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

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

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

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

sudo find / -size +10M

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

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

Что такое петабайт?

Приставка «пета» является единицей измерения для одного квадриллиона, или 10^15. Один петабайт эквивалентен 1024 терабайтам или одному квадриллиону байт. Можно подумать, что такой объем информации никогда не будет использован. Однако сегодня через компьютерные системы и сети проходят петабайты информации, как бы трудно в это ни верилось.

Читайте также:  Вход без пароля с помощью ключей SSH

Рассмотрим следующие современные применения технологии с размером петабайта:

  • Google обрабатывает более 24 петабайт информации ежедневно.
  • Сети мобильных телефонов ежедневно передают пользователям более 20 петабайт.
  • Серверы World of Warcraft требуют более 1,5 петабайт памяти для запуска онлайн-игр.

Один петабайт может хранить более чем 10 000 часов телевизионных программ. Фактически, все книги созданные человечеством можно уместить в 50 петабайтах. Это очень много данных.

Поскольку технология продолжает развиваться, возможно скоро будут задействованы новые единицы памяти, например, эксабайт (1,024 петабайт), 1 эксабайт, чтобы можно было себе представить — это 250 миллионов DVD дисков.

Проверка оперативной памяти на наличие ошибок

Иногда можно столкнуться с поломкой полупроводников оперативной памяти. Обычно это выражается в нестабильной работе программ, зависаниях и т.п. Такие поломки способны повлиять на производительность оперативной памяти. Такую поломку устранить не получится, можно только заменить модуль на новый. Поэтому при зависаниях ПК или отдельных программ необходимо убедиться в целостности ОЗУ, чтобы не потратить деньги впустую, приобретя новые модули памяти взамен рабочим.

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

Проверка оперативной памяти на наличие ошибок

Для примера запустим проверку блока ОЗУ, размером в 100 мегабайт состоящую из двух циклов:

Результат работы memtester

Данная проверка проводится для блока ОЗУ размером в 100МБ (указанных нами) два раза. Как видим у меня все в порядке. При использовании данной утилиты важно помнить, что нельзя указывать размер блока проверки больше, чем доступно свободной оперативной памяти на момент начала проверки.

Проверка оперативной памяти на наличие ошибок

Для более тщательного тестирования памяти можно воспользоваться утилитой memtest86+ из меню загрузчика Grub. Для того, чтобы попасть в меню Grub при запуске ПК следует держать нажатой клавишу Shift или, в некоторых случаях, ESC. Если загрузилось не меню, а консоль, то нужно выполнить команду normal.

Меню загрузчика Grub

После выбора пункта меню «Memory Test (memtest86+)» начнется проверка памяти:

Проверка оперативной памяти на наличие ошибок

Проверка памяти memtest86+

По окончанию первого цикла проверки снизу экрана будет отображена информация с результатами проверки:

Проверка оперативной памяти на наличие ошибок