- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Азы работы в командной строке Linux (часть 5)
- fdisk чтобы узнать, какие диски в системе и их разделы
- df для просмотра свободного места на дисках
- du для просмотра размера папок и файлов
- mount для просмотра смонтированных дисков и монтирования
- Статьи по рассмотренным программах
- 8 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4, FAT32, NTFS)
- 1. Использование команды df
- 2. Использование команды fsck
- 3. Использование команды lsblk
- 4. Использование команды mount
- 5. Использование команды blkid
- 6. Использование команды file
- 7. Использование findmnt
- 8. Использование файла fstab
- Связанные статьи:
- Linux — узнать файловую систему диска или раздела
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Азы работы в командной строке Linux (часть 5)
В предыдущей части мы рассмотрели сетевые команды, которые можно использовать для выявления проблем с сетью. Теперь давайте обратим внимание на диски в Linux. В самой первой части азов мы познакомились с командами для просмотра содержимого папок (ls), для копирования файлов (cp), для создания директорий, (mkdir) для удаления файлов и директорий (rm), для смены текущей рабочей директории (cd) и для просмотра текущей рабочий директории (pwd).
Теперь давай научимся смотреть на диски в целом — какие имена они имеют в системе, на какие разделы размечены, сколько свободного места на дисках, куда они смонтированы (то есть в какую папку подключены).
Почти все программы в этой статье имеют отдельные статьи с подробным описанием возможностей каждой рассмотренной утилиты Linux — рекомендуется ознакомиться и с ними.
fdisk чтобы узнать, какие диски в системе и их разделы
Для вывода списков всех дисков и их разделов запустите программу fdisk с опцией -l:
Информация о каждом диске начинается со слова Диск и включает в себя строку вида:
Диск ИМЯ_ДИСКА: РАЗМЕР_ДИСКА, РАЗМЕР_В_БАЙТАХ, КОЛИЧЕСТВО_СЕКТОРОВ
Диск /dev/nvme0n1: 119,25 GiB, 128035676160 байт, 250069680 секторов
Затем идёт строка, которая может помочь вам идентифицировать диск, в ней содержится модель диска, например:
Disk model: KINGSTON RBUSNS8154P3128GJ
Если диск разделён на разделы, то выводится информация о каждом из них:
Устр-во начало Конец Секторы Размер Тип /dev/nvme0n1p1 2048 411647 409600 200M EFI /dev/nvme0n1p2 411648 250069646 249657999 119G Корневой раздел Linux (x86-64)
Информация о разделах отсутствует для дисков, на которых только один раздел.
Найденные здесь имена дисков и разделов (такие как /dev/sda, /dev/nvme0n1 и другие) могут использоваться с другими программами для создания/восстановления резервных копий дисков (например dd), а также с программами разметки дисков.
df для просмотра свободного места на дисках
Программа df показывает сразу несколько важных характеристик для всех дисков в системе, важнейшей из которых является размер использованного и свободного места. Если диск разделён на разделы, то выводится информация о каждом разделе по отдельности, а не о диске в целом.
Утилита df выводит такую информацию как:
- имя диска
- тип файловой системы
- размер
- сколько место использовано в гигабайтах
- сколько места доступно
- сколько место использовано в процентах
- точку монтирования
Запустим эту команду с опцией -h, чтобы данные о занятом и свободном месте выводились в Гигабайтах и других более удобных для восприятия единицах, а не в байтах:
Я сделаю некоторые пояснения по выведенной информации, но перед этим добавим ещё опцию -T, чтобы заодно были выведены данные о типе файловой системы:
Мы можем увидеть уже знакомые по команде fdisk разделы:
Но, с одной стороны, здесь далеко не все разделы, которая вывела fdisk, но при этом добавились непонятные файловые системы. Дело в том, что df показывает информацию только о смонтированных разделах. Если раздел не смонтирован, то он не попадает в вывод df.
Что касается файловых систем dev, run и tmpfs, то это виртуальные файловые системы, используемые в определённых целях операционной системой. К примеру, файловая система dev, которая смонтирована в /dev, содержит все устройства системы, представленные в виде файлов.
Предположим, мы хотим ограничить вывод только информацией об обычных файловых системах — это можно сделать опцией -t, после которой нужно указать интересующую файловую систему, причём опцию можно использовать множество раз:
df -t ext4 -t ext3 -t ext2 -t vfat -T -h
Предыдущая команда выведет информацию об определённых файловых системах (ext4, ext3 и ext2 это типичные для Linux файловые системы обычных дисков, а vfat включает в себя NTFS, FAT32 и другие типичные для Windows файловые системы).
Теперь, когда нет лишних записей, очень легко сориентироваться в дисках и узнать количество занятого места на них. В последнем столбце показаны точки монтирования, например /mnt/disk_d и /run/media/mial/7A7F-95C9 — это папки, через которые вы можете получить доступ к файлам этих дисков. Но обычно нет нужды искать их таким образом, т. к. файловые менеджеры добавляют для них быстрые ссылки, например в Double Commander:
Стандартный файловый менеджер:
Если интересует только какой-то определённый диск, то можно запустить команду вида:
du для просмотра размера папок и файлов
Чтобы узнать путь до файла в командной строке используйте команду следующего вида:
Опция -h здесь применена для вывода размера в удобном для восприятия виде.
Вместо файла можно указать директорию:
Тогда будет выведен размер каждой папки в указанной директории.
Если нужно узнать размер всей директории, то укажите опцию -s:
Если, напротив, нужно больше подробностей, то есть сколько занимает место каждый файл в директории, то используйте опцию -a, которая выведет каждый файл и его размер:
Чтобы увидеть размер каждой папки в корне диска выполните такую команду:
У программы du есть потрясающий графический интерфейс — команда ncdu, с его помощью можно легко найти папки, которые занимают больше всего места в системе, подробности в этой статье.
mount для просмотра смонтированных дисков и монтирования
Команду mount чаще всего применяют для монтирования или размонтирования дисков — к этому мы вернёмся в одной из последующих статей. Запущенная без опций, эта команда выведет информацию о всех смонтированных файловых системах в Linux:
В выводе также содержаться данные об опциях монтирования.
Статьи по рассмотренным программах
8 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4, FAT32, NTFS)
Файловая система — это способ, которым файлы именуются, хранятся, извлекаются, а также обновляются на диске или разделе хранения; это способ организации файлов на диске.
Файловая система разделена на два сегмента, которые называются: данные пользователя и метаданные (имя файла, время его создания, время изменения, его размер и расположение в иерархии каталогов и т. д.).
В этом руководстве мы расскажем о семи способах определения типа файловой системы Linux, например Ext2, Ext3, Ext4, BtrFS, GlusterFS и многих других.
1. Использование команды df
Команда df сообщает об использовании дискового пространства файловой системой, чтобы включить тип файловой системы в конкретный раздел диска, используйте флаг -T, как показано ниже:
Полное руководство по использованию команды df можно найти в наших статьях:
2. Использование команды fsck
fsck используется для проверки и, при необходимости, для восстановления файловых систем Linux, она также может печатать тип файловой системы на указанных разделах диска.
Флаг -N отключает проверку файловой системы на наличие ошибок, он просто показывает, что будет сделано (но нам нужен только тип файловой системы):
fsck -N /dev/sda fsck -N /dev/sdb2
3. Использование команды lsblk
lsblk отображает блочные устройства, при использовании с параметром -f он также печатает тип файловой системы на разделах:
Вариант этой команды, выводящей краткие сведение об имени и файловой системе:
4. Использование команды mount
Команда mount используется для монтирования файловой системы в Linux, её также можно использовать для монтирования образа ISO, монтирования удалённой файловой системы Linux и многого другого.
При запуске без аргументов она выводит информацию о разделах диска, включая тип файловой системы, как показано ниже:
5. Использование команды blkid
Команда blkid используется для поиска или печати свойств блочного устройства, просто укажите раздел диска в качестве аргумента, например:
6. Использование команды file
Команда file определяет тип файла, флаг -s разрешает чтение блочных или символьных файлов, а -L разрешает переход по символическим ссылкам:
7. Использование findmnt
Программа findmnt показывает множество информации о блочных устройствах, точках монтирования, опциях монтирования и прочей сопутствующей информации. В том числе выводится информация о файловой системе устройств:
8. Использование файла fstab
Файл /etc/fstab — это файл статической информации о файловой системе (такой, как точка монтирования, тип файловой системы, параметры монтирования и т. д.):
Всё готово! В этом руководстве мы объяснили восемь способов определить тип файловой системы Linux. Вы знаете какой-либо метод, не упомянутый здесь? Поделитесь с нами в комментариях.
Связанные статьи:
Linux — узнать файловую систему диска или раздела
Список команд с помощью которых можно узнать файловую систему.
Любой выбранный раздел с помощью file:
/dev/sda1: Linux/i386 swap file (new style), version 1 (4K pages), size 975743 pages, no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Все смонтированные разделы с помощью df:
df -T df -Th | grep "^/dev" df -Th | grep "^/dev/nvme"
Файл.система Тип 1K-блоков Использовано Доступно Использовано% Cмонтировано в udev devtmpfs 16395728 12 16395716 1% /dev tmpfs tmpfs 3281384 13476 3267908 1% /run /dev/sda3 ext4 38318740 27121492 11180864 71% / none tmpfs 4 0 4 0% /sys/fs/cgroup none tmpfs 5120 0 5120 0% /run/lock none tmpfs 16406916 12 16406904 1% /run/shm none tmpfs 102400 0 102400 0% /run/user /dev/sda2 vfat 975228 3456 971772 1% /boot/efi /dev/sda4 xfs 64419347968 54767602848 9651745120 86% /u01 /dev/sdb1 xfs 58602802688 27835955672 30766847016 48% /u02
Смонтированные разделы с помощью mount:
/dev/sda3 on / type ext4 (rw,errors=remount-ro) /dev/sda2 on /boot/efi type vfat (rw) /dev/sda4 on /u01 type xfs (rw) /dev/sdb1 on /u02 type xfs (rw)
В виде дерева с помощью lsblk:
NAME FSTYPE LABEL MOUNTPOINT sda ├─sda1 swap [SWAP] ├─sda2 vfat /boot/efi ├─sda3 ext4 / └─sda4 xfs /u01 sdb └─sdb1 xfs /u02
Выбранный раздел с помощью blkid:
/dev/sdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="xfs"