Утилита Linux findmnt
— инструмент командной строки, перечисляющий все смонтированные файловые системы.

Содержание
Принцип работы
Утилита ищет смонтированный файл в следующих местах: /etc/fstab
, /etc/mtab
, /proc/self/mountinf
.
По умолчанию этот инструмент показывает все смонтированные файловые системы дистрибутива.
Установка
Этот инструмент предустановлен в операционной системе Linux. Он входит в состав пакета util-Linux
.
Синтаксис
$ findmnt [параметры]
Параметры
-s, --fstab
Поиск в статичной таблице файловых систем
-m, --mtab
Поиск в таблице смонтированных файловых систем (включая параметры монтирования пользовательского пространства)
-k, --kernel
Поиск примонтированных файловых систем в таблице ядра (по умолчанию)
-p, --poll[=<list>]
Отслеживать изменения в таблице смонтированных файловых систем
-w, --timeout <num>
Верхний предел в миллисекундах, который --poll будет блокировать
-A, --all
Отключить все встроенные фильтры, распечатать все файловые системы
-a, --ascii
Использовать символы ASCII для форматирования дерева
-b, --bytes
Размеры печати в байтах, а не в формате, удобном для чтения человеком
-C, --nocanonicalize
Не канонизируйте при сравнении путей
-c, --canonicalize
Канонизировать печатные пути
-D, --df
Имитировать вывод df(1)
-d, --direction <word>
Направление поиска: 'forward' - впреред, 'backward' - назад
-e, --evaluate
Преобразовать теги (LABEL,UUID,PARTUUID,PARTLABEL) в имена устройств
-F, --tab-file <path>
Альтернативный файл для опций -s, -m или -k
-f, --first-only
Распечатать только первую найденную файловую систему
-I, --dfi
Имитировать вывод df(1) с опцией -i
-i, --invert
Инвертировать смысл соответствия
-J, --json
Использовать формат вывода JSON
-l, --list
Использовать вывод в формате списка
-N, --task <tid>
Использовать альтернативное пространство имен (файл /proc/<tid>/mountinfo)
-n, --noheadings
Не печатать заголовки столбцов
-O, --options <list>
Ограничить набор файловых систем параметрами монтирования
-o, --output <list>
Выходные столбцы (см. --list-columns)
--output-all
Вывести все доступные столбцы
-P, --pairs
Использовать формат вывода key="value"
--pseudo
Печатать только псевдофайловые системы
--shadowed
Печатать только файловые системы, смонтированные поверх другой файловой системы
-R, --submounts
Распечатать все подмонтирования для соответствующих файловых систем
-r, --raw
Использовать необработанный формат вывода
--real
Печатать только реальные файловые системы
-S, --source <string>
Устройство для монтирования (по имени, maj:min, LABEL=, UUID=, PARTUUID=, PARTLABEL=)
-T, --target <path>
Путь к файловой системе для использования
--tree
Включить вывод в формате дерева, если это возможно
-M, --mountpoint <dir>
Каталог точки монтирования
-t, --types <list>
Ограничить набор файловых систем по типам ФС
-U, --uniq
Игнорировать файловые системы с дублирующимися целями
-u, --notruncate
Не обрезать текст в столбцах
-v, --nofsroot
Не печатать [/dir] для монтирования bind или btrfs
-y, --shell
Использовать имена столбцов, которые можно использовать в качестве идентификаторов переменных оболочки
-x, --verify
Проверить содержимое таблицы монтирования (по умолчанию fstab)
--verbose
Распечатать больше деталей
--vfs-all
Распечатать все параметры VFS
-H, --list-columns
Список доступных столбцов
-h, --help
Показать эту помощь
-V, --version
Версия
Использование findmnt
Запуск без параметров
Для отображения всех файловых систем можно просто запустить команду findmnt
без каких-либо параметров:
oleg@mobile:~:$ findmnt
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda6 ext4 rw,relatime
├─/proc proc proc rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc systemd-1 autofs rw,relatime,fd=41,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_i
│ └─/proc/sys/fs/binfmt_misc binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime
├─/sys sys sysfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup cgroup2 cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot
│ ├─/sys/fs/pstore pstore pstore rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/bpf bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700
│ ├─/sys/kernel/tracing tracefs tracefs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/debug debugfs debugfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/fuse/connections fusectl fusectl rw,nosuid,nodev,noexec,relatime
│ └─/sys/kernel/config configfs configfs rw,nosuid,nodev,noexec,relatime
├─/dev dev devtmpfs rw,nosuid,relatime,size=917256k,nr_inodes=229314,mode=755,inode64
│ ├─/dev/shm tmpfs tmpfs rw,nosuid,nodev,inode64
│ ├─/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/mqueue mqueue mqueue rw,nosuid,nodev,noexec,relatime
│ └─/dev/hugepages hugetlbfs hugetlbfs rw,nosuid,nodev,relatime,pagesize=2M
├─/run run tmpfs rw,nosuid,nodev,relatime,mode=755,inode64
│ ├─/run/credentials/systemd-journald.service
│ │ tmpfs tmpfs ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,
│ ├─/run/user/1000 tmpfs tmpfs rw,nosuid,nodev,relatime,size=185772k,nr_inodes=46443,mode=700,uid=100
│ │ └─/run/user/1000/doc portal fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=984
│ └─/run/credentials/getty@tty1.service tmpfs tmpfs ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,
├─/tmp tmpfs tmpfs rw,nosuid,nodev,nr_inodes=1048576,inode64
├─/mnt/ubuntu /dev/sda5 ext4 rw,relatime
├─/mnt/win_d /dev/sda3 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allo
├─/mnt/win_c /dev/sda2 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096
└─/home /dev/sda8 ext4 rw,relatime
oleg@mobile:~:$
Выход мы получили в древовидной форме.
В столбцах на выходе отображается следующая информация:
TARGET
Целевая точка монтирования
SOURCE
Источник
FSTYPE
Тип файловой системы
OPTIONS
Параметры монтирования файловой системы
Вывод в статичной таблице файловых систем
Для получения вывода в статичной таблице файловых систем утилита запускается с параметром -s
:
oleg@mobile:~:$ findmnt -s
TARGET SOURCE FSTYPE OPTIONS
/ UUID=6d031569-0134-4713-9cb8-4f55968dc362 ext4 rw,relatime
/home UUID=e0b4595f-9e86-4dcc-b334-7f50a012a79b ext4 rw,relatime
/mnt/ubuntu /dev/sda5 ext4 rw,relatime
/mnt/win_c UUID=2C2E8B882E8B49B2 ntfs defaults
/mnt/win_d UUID=0292C00092BFF66F ntfs uid=oleg,gid=users
none UUID=2cb45ba1-0d5f-493e-bb45-77b966f5fd6e swap defaults
/mnt/cdrom /dev/cdrom auto noauto,owner,ro
oleg@mobile:~:$
В результате была получена информация о файловой системе, извлеченная из файла каталога /etc/fstab
.
Вывод в формате df
Для получения выхода в формате df
утилита запускается в параметром -D
или --df
:
oleg@mobile:~:$ findmnt -D
SOURCE FSTYPE SIZE USED AVAIL USE% TARGET
dev devtmpfs 895,8M 0 895,8M 0% /dev
run tmpfs 907,1M 1,1M 906M 0% /run
/dev/sda6 ext4 27,3G 14,7G 11,2G 54% /
tmpfs tmpfs 907,1M 53,8M 853,3M 6% /dev/shm
tmpfs tmpfs 1M 0 1M 0% /run/credentials/systemd-journald.service
tmpfs tmpfs 907,1M 4,3M 902,8M 0% /tmp
/dev/sda2 fuseblk 46,5G 28,5G 18G 61% /mnt/win_c
/dev/sda3 fuseblk 37,3G 7,3G 30G 20% /mnt/win_d
/dev/sda5 ext4 27,3G 16,3G 9,7G 59% /mnt/ubuntu
/dev/sda8 ext4 318,9G 178,1G 124,6G 56% /home
tmpfs tmpfs 1M 0 1M 0% /run/credentials/getty@tty1.service
tmpfs tmpfs 181,4M 48K 181,4M 0% /run/user/1000
portal fuse.portal /run/user/1000/doc
oleg@mobile:~:$
Фильтр файловой системы
Для получения вывода конкретных типов файловых систем утилита запускается с параметром -t
:
oleg@mobile:~:$ findmnt -t ext4
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda6 ext4 rw,relatime
├─/mnt/ubuntu /dev/sda5 ext4 rw,relatime
└─/home /dev/sda8 ext4 rw,relatime
oleg@mobile:~:$
Для фильтрации нескольких файловых систем указываются типы файловых систем, разделённых запятой.
Сырой вывод
Для получения вывода в сыром формате к команде добавляется параметр -r
:
oleg@mobile:~:$ findmnt -r
TARGET SOURCE FSTYPE OPTIONS
/proc proc proc rw,nosuid,nodev,noexec,relatime
/sys sys sysfs rw,nosuid,nodev,noexec,relatime
/dev dev devtmpfs rw,nosuid,relatime,size=917252k,nr_inodes=229313,mode=755,inode64
/run run tmpfs rw,nosuid,nodev,relatime,mode=755,inode64
/ /dev/sda6 ext4 rw,relatime
/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime
/dev/shm tmpfs tmpfs rw,nosuid,nodev,inode64
/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
/sys/fs/cgroup cgroup2 cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot
/sys/fs/pstore pstore pstore rw,nosuid,nodev,noexec,relatime
/sys/fs/bpf bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700
/proc/sys/fs/binfmt_misc systemd-1 autofs rw,relatime,fd=41,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=886
/dev/mqueue mqueue mqueue rw,nosuid,nodev,noexec,relatime
/sys/fs/fuse/connections fusectl fusectl rw,nosuid,nodev,noexec,relatime
/sys/kernel/tracing tracefs tracefs rw,nosuid,nodev,noexec,relatime
/sys/kernel/config configfs configfs rw,nosuid,nodev,noexec,relatime
/sys/kernel/debug debugfs debugfs rw,nosuid,nodev,noexec,relatime
/dev/hugepages hugetlbfs hugetlbfs rw,nosuid,nodev,relatime,pagesize=2M
/run/credentials/systemd-journald.service tmpfs tmpfs ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,inode64,noswap
/tmp tmpfs tmpfs rw,nosuid,nodev,nr_inodes=1048576,inode64
/mnt/win_c /dev/sda2 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096
/mnt/win_d /dev/sda3 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096
/mnt/ubuntu /dev/sda5 ext4 rw,relatime
/home /dev/sda8 ext4 rw,relatime
/proc/sys/fs/binfmt_misc binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime
/run/credentials/getty@tty1.service tmpfs tmpfs ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,inode64,noswap
/run/user/1000 tmpfs tmpfs rw,nosuid,nodev,relatime,size=185772k,nr_inodes=46443,mode=700,uid=1000,gid=984,inode64
/run/user/1000/doc portal fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=984
oleg@mobile:~:$
Вывод конкретного устройства
Для получения вывода конкретного устройства-источника утилита используется с параметром -S
и указанием источника:
oleg@mobile:~:$ findmnt -S /dev/sda5
TARGET SOURCE FSTYPE OPTIONS
/mnt/ubuntu /dev/sda5 ext4 rw,relatime
oleg@mobile:~:$
Вывод по точке монтирования
Для получения вывода по точке монтирования утилита запусается с параметром -T
и последующем указанием точки монтирования, взятой из TARGET
:
oleg@mobile:~:$ findmnt -S /dev/sda5
TARGET SOURCE FSTYPE OPTIONS
/mnt/ubuntu /dev/sda5 ext4 rw,relatime
oleg@mobile:~:$ findmnt -T /mnt/ubuntu
TARGET SOURCE FSTYPE OPTIONS
/mnt/ubuntu /dev/sda5 ext4 rw,relatime
oleg@mobile:~:$
Заключение
Описанные в этой статье приёмы работы с утилитой Linux findmnt
показывают, что пользоваться этой полезной командой очень просто. Использование её доступно и начинающим пользователям.