Как узнать доступное место на диске в linux?

Description

df displays the amount of disk space available on the file system containing each file name argument. If no file name is given, the space available on all currently mounted file systems is shown. Disk space is shown in 1 K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used.

If an argument is the absolute file name of a disk device node containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node (which is always the root file system). df cannot show the space available on unmounted file systems, because on most kinds of systems doing so requires very system-specific knowledge of file system structures.

LINUX КОМАНДЫ КОНСОЛИ ДЛЯ РАБОТЫ С ТЕКСТОМ

19. MORE / LESS

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. HEAD / TAIL

Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. GREP

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.

22. SORT

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

24. DIFF

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а».

Подключить и примонтировать диск

Расскажу, как подключить и настроить новый физический или виртуальный диск в Debian. У меня в системе есть один диск — /dev/sda. Я подключил к ней новый жесткий диск sdb. Хочу его отформатировать в файловую систему xfs и примонтировать в каталог /mnt/backup.

Разметка диска

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

Создадим один раздел на диске с помощью утилиты cfdisk.

# cfdisk /dev/sdb

Если диск чистый, то вам будет предложено создать таблицу разделов на ней. Я обычно gpt создаю. Дальше через графический интерфейс создайте раздел на весь диск и укажите type — Linux filesystem.

Как закончите, сохраняйте изменения. Вас попросят подтвердить запись, написав yes. Пишите полное слово, не просто y, а именно yes, иначе изменения не будут записаны. Теперь надо обновить таблицу разделов. Иногда система автоматически не видит новые разделы, а требует перезагрузку, чтобы их увидеть. Перезагружаться не обязательно, достаточно запустить программу partprobe.

# partprobe -s

Если ее нет в системе, то установите пакет parted.

# apt install parted

Создание файловой системы ext4, xfs

Раздел на новом диске создали. Теперь его надо отформатировать в файловую систему xfs. Это не родная система для Debian, поэтому нужно поставить отдельный пакет xfsprogs для работы с ней.

# apt install xfsprogs

Создаем файловую систему xfs на новом диске.

# mkfs.xfs /dev/sdb1

Если вам нужно создать файловую систему ext4, то ничего ставить дополнительно не нужно. Сразу форматируете раздел в ext4 командой:

# mkfs -t ext4 /dev/sdb1

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

# mkdir /mnt/backup
# mount /dev/sdb1 /mnt/backup

Проверяем, что получилось.

# df -h

Посмотрим, какую метку получил новый раздел с помощью blkid.

Метку будем использовать для того, чтобы монтировать диск автоматически при загрузке системы. Для этого редактируем файл /etc/fstab. Добавляем в самый конец новую строку, чтобы получилось примерно так.

/dev/mapper/debian10--vg-root / ext4 errors=remount-ro 0 1
UUID=88c4c0aa-be17-4fd9-b1b7-5c8be142db77 /boot ext2 defaults 0 2
UUID=415236b0-68bd-4f27-8eaf-5e8ab49d98d7 /mnt/backup xfs defaults 0 1

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

Это важно. Если не сделать переход на пустую строку, система не загрузится.

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

Поясню еще, почему использовали метку диска, а не название диска в системе — /dev/sdb1. Раньше я всегда так и делал. Ну как раньше — лет 7-10 назад. Потом пошли какие-то изменения и стали возникать ситуации, что после добавления новых дисков в систему, менялись системные названия дисков. Когда сталкиваешься с этим впервые — впадаешь в ступор. Вроде только добавил диск в систему, а у тебя все сломалось. То, что было /dev/sdb стало /dev/sdc со всеми вытекающими последствиями. Выход из этой ситуации — использовать метки разделов, а не названия. Метки не меняются.

КОМАНДЫ LINUX ДЛЯ УПРАВЛЕНИЯ ПОЛЬЗОВАТЕЛЯМИ

35. USERADD / USERDEL / USERMOD

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

36. PASSWD

Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.

(Не) Перемещение файловой системы

Раньше вы могли размонтировать файловую систему и перемонтировать ее в другую точку монтирования с помощью одной команды.

Опция (перемещение) в существует специально для того, чтобы вы могли это сделать. Но он больше не работает в дистрибутивах Linux, которые перешли на . И это большинство громких имен.

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

  sudo mount -M / mnt ./geek 
  ls ./geek 

Обходной путь должен использовать опцию (bind), которую мы использовали ранее, чтобы привязать исходную точку монтирования к новой точке монтирования.

  sudo mount -B / mnt ./geek 
  ls ./geek 

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

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

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

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

sudo apt-get install gparted

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание зеркальных томов LVM

LVM позволяет создать зеркальные тома для повышения отказоустойчивости хранения данных. В LVM зеркале данные одновременно хранятся на двух (или более) физических дисках (подобие RAID-1). Процедура создания зеркального тома в LVM.

  1. Инициализация дисков: 
    pvcreatedevsd{b,c}
  2. Создаем LVM группу: 
    vgcreatemirror1devsd{b,c}
  3. Создадим зеркальный LVM том: 
    lvcreate-L5g-m1-nlvMirr1 VGmirror1

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

Using df command to check disk space in Linux

Let’s see how can you use the df command to get various kind of disk space information in Linux.

Just ‘df’ to see disk information

The main and plain ‘df’ command will output the entire list of file systems in your Linux setup. To explain what is a file system, we probably would need an entire article, however for now let’s say it is the way some files are arranged in your system.

A simple ‘df’ will give you entire list of filesystems

This information will probably not be the best in terms of readability, so let’s explore a better version.

Human readable option ‘df -h’

In order to get a ‘human readable’ version of the output (that’s what the ‘h’ stands for) you would do a ‘df -h’.

This will give you something like this:

The df -h gives you a better readable version

As you can see, it will list the file systems and use Gigabytes and Megabytes unit to represent space, which is a lot easier to understand and work with.

Listing types for each file system

It might be useful to list the file systems with their correspondent file system type for each one. To do this, you can use the ‘-T’ option:

Listing the type for each file system using the -T option

Check free disk space in Linux with df command

Sometimes you want to know how much disk space is available for a particular folder in your system in the file system where that folder resides, so you can know it by simply using the ‘df’ with the folder you want to know about.

How much space I have available for my Videos folder

This shall not be confused with knowing how much space this folder is actually taking from the system, as this information will not be given by the ‘df’ command but by the ‘du’ (disk usage) command. Still, this df option will actually give you an idea of how much space you have available for that particular folder and in which file system it resides.

Exclude certain type of filesystem

We have seen that ‘df’ will give you plenty of information, however, sometimes less is more, and you might want to exclude few file system types in order to obtain only specific data.

In my previous example, you could see I had a lot of ‘snaps’ installed and each of them is listed separately. They all have the ‘squashfs’ file system type, so if I filter those to NOT be included I will get a more bounded information:

I get a df output excluding all squashfs file systems

By using the ‘x’ option (exclusion) I can remove file systems types from the output in order to get more specific information.

List particular filesystem only

On the other hand, let’s say you only want to list certain type of file systems so instead of excluding all those you don’t want you simply list the particular one you need.

There is an option for that which is very simple: just add ‘-t’ and the file system type you wish to list.

listing only ext4 file systems

Wrapping up

As you can see the ‘df’ command is a very useful command you must know in order to be able to obtain more information about your disk space. It’s not just a matter of simply knowing the disk space available but it also gives you plenty of options to know about specific file systems and display the information in different formats.

Of course, as any other command you can see some other options it has by simply running a ‘–help’ option in it:

As any other command the –help option will give you all the information of what you can do

Информация о дисковом носителе

1. df

Команда выдает информацию о подмонтированных разделах и объемах, занимаемых ими:

df -h

Пример ответа:

Файловая система              Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/sys-root             25G          11G   15G           41% /
devtmpfs                        1,9G            0  1,9G            0% /dev
tmpfs                           1,9G         4,0K  1,9G            1% /dev/shm
tmpfs                           1,9G         193M  1,7G           11% /run
tmpfs                           1,9G            0  1,9G            0% /sys/fs/cgroup
/dev/sda1                      1014M         186M  829M           19% /boot

2. fdisk

Подробная информация о диске и его разделах:

fdisk /dev/sda -l

Ответ:

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d5e55

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    62914559    30407680   8e  Linux LVM

3. iotop

Команда позволяем увидеть загруженность дисковой системы. Утилиты может не быть в системе — сначала ее нужно установить.

а) на Ubuntu / Debian:

apt-get install iotop

б) на CentOS / Red Hat:

yum install iotop

После установки утилита запускается командой:

iotop

Вывод похож на top:

Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd —swi…
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 %
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
 1542 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 %
 …

4. smartmontools

Утилита позволяет получить SMART дисковых накопителей. По умолчанию, она не установлена — установка выполняется из репозитория.

а) на Ubuntu / Debian:

apt-get install smartmontools

б) на CentOS / Red Hat:

yum install smartmontools

После установки можно использовать:

smartctl -a /dev/sda

* в данном примере мы увидим полный тест для диска sda.

Если нам нужно посмотреть только общее состояние здоровья, то используем опцию H:

smartctl -H /dev/sda

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

find /dev -name ‘sd’ -exec smartctl -a {} \;

Монтирование Samba Share

Samba — это набор программных сервисов, которые обеспечивают взаимозаменяемость общего доступа к сетевым ресурсам между Linux и Unix-подобными операционными системами и операционными системами Windows.

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

Raspberry Pi, подключенный к той же сети, что и тестовая машина, имеет общий ресурс Samba. Это каталог с именем Backup, которому Samba присвоено имя «share». Давайте создадим SSH- подключение к нему и посмотрим на содержимое общего каталога. Общий каталог находится на USB-накопителе, смонтированном на Pi.

Имя пользователя — а сетевое имя Raspberry Pi — .

  ssh [email protected] 
  ls / media / pi / USB64 / Backup 
  выход 

Пользователь команду и запрашивает пароль Raspberry Pi.

Они предоставляют свой пароль и проходят проверку подлинности. окна терминала меняется на потому что он подключен к Raspberry Pi.

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

Они чтобы отключиться от Raspberry Pi, и приглашение меняется на .

Чтобы использовать Samba, вы должны установить пакет .

Используйте для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

  sudo apt-get установить cifs-utils 

После завершения установки подключите общий ресурс с помощью команды, подобной следующей, изменив IP-адрес, имя общего ресурса и точку подключения (которая уже должна существовать) в соответствии с вашими обстоятельствами.

  sudo mount -t cifs -o учетные данные = / etc / samba / creds, uid = 1000, gid = 1000 //192.168.4.13/share / media / dave / NAS 

Давайте разберем части этой команды.

  • -t cifs : тип файловой системы — cifs.
  • -o учетные данные = / etc / samba / creds, uid = 1000, gid = 1000 : параметры параметров — это путь к файлу с именем который защищен и содержит имя пользователя и пароль для пользователя Raspberry Pi; идентификатор пользователя (UID) и идентификатор группы (GID), которые используются для установки владельца и группы корня файловой системы.
  • //192.168.4.13/share : сетевое расположение устройства с общим ресурсом Samba и имя Samba общего каталога. Корнем общего ресурса является каталог с именем , но его общее имя Samba настроено на .
  • / media / dave / NAS : имя точки монтирования. Вы должны создать свою точку монтирования заранее.

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

  cd / media / dave / NAS 

curl

Утилита curl извлекает информацию и файлы с url-страниц.

Будет полезна тем, кто часто загружает:

  • Скрипты.
  • Исполняемые файлы программ.
  • Архивы.

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

На самом деле curl является не просто утилитой, а целым набором библиотек, способными реализовать все основные возможности по работе c передачей файлов и url-страницами.

Curl поддерживает работу с протоколами:

  • FTP
  • FTPS
  • HTTP
  • HTTPS
  • TFTP
  • SCP
  • SFTP
  • Telnet
  • DICT
  • LDAP
  • POP3
  • IMAP
  • SMTP

Загрузка файлов с помощью curl

Самая распространенная задача для утилиты curl – это загрузка файлов. Чтобы скачать файл достаточно передать утилите имя файла или адрес страницы, например:

Таким образом содержимое файла будет отправлено на стандартный вывод. Для записи его в файл (для примера ex.txt) нужно ввести:

Чтобы скачанный файл назывался так же, как и на сервере необходимо использовать опцию -O:

Стоит отметить, что не во всех дистрибутивах Linux утилита предустановлена по умолчанию.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

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