Linux поддерживает множество файловых систем, таких как Btrfs, ext4, ext3, ext2, exFAT, sysfs, securityfs, FAT16, FAT32, NTFS и многие другие.
Наиболее часто используемыми файловыми системами являются Ext4 и Btrfs.
Задумывались ли вы когда-нибудь, какую файловую систему вы используете в своей системе Linux?
Нет? Нет проблем!
В этом руководстве перечислены все возможные способы поиска типа смонтированной файловой системы в Linux и Unix-подобных операционных системах.
Различные способы поиска типов файловых систем в Linux
Существует множество способов найти тип файловой системы в Linux.
Здесь я привел 8 различных методов проверки типа файловой системы Linux с примерами
Метод 1 – Определение типа файловой системы в Linux с помощью Findmnt
Наиболее часто используемой командой для определения типа базовой файловой системы в Linux является Findmnt.
Команда findmnt выводит список всех смонтированных файловых систем или выполняет поиск файловой системы.
Команда findmnt может искать в /etc/fstab, /etc/mtab или /proc/self/mountinfo.
Команда Findmnt является частью пакета util-linux, который поставляется предустановленным в большинстве дистрибутивов Linux.
В случае, если команда findmnt недоступна в вашей системе, просто установите пакет util-linux, как показано ниже.
Для установки пакета util-linux в системах на базе Debian используйте команду:
$ sudo apt install util-linux
Давайте рассмотрим, как использовать команду findmnt для поиска типов смонтированных файловых систем в Linux.
Когда вы запустите команду findmnt без каких-либо опций, она выведет список всех смонтированных файловых систем в древовидном формате:
$ findmnt
Пример вывода:
TARGET SOURCE FSTYPE OPTIONS / /dev/nvme0n1p2 ext4 rw,relatime,errors=remount-ro ├─/sys sysfs 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 │ ├─/sys/fs/pstore pstore pstore rw,nosuid,nodev,noexec,relatime │ ├─/sys/firmware/efi/efivars efivarfs efivarfs rw,nosuid,nodev,noexec,relatime │ ├─/sys/fs/bpf bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 │ ├─/sys/kernel/debug debugfs debugfs rw,nosuid,nodev,noexec,relatime │ ├─/sys/kernel/tracing tracefs tracefs 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 ├─/proc proc proc rw,nosuid,nodev,noexec,relatime │ └─/proc/sys/fs/binfmt_misc systemd-1 autofs rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=20897 ├─/dev udev devtmpfs rw,nosuid,relatime,size=16196312k,nr_inodes=4049078,mode=755,inode64 │ ├─/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 │ ├─/dev/shm tmpfs tmpfs rw,nosuid,nodev,inode64 │ ├─/dev/mqueue mqueue mqueue rw,nosuid,nodev,noexec,relatime │ └─/dev/hugepages hugetlbfs hugetlbfs rw,relatime,pagesize=2M ├─/run tmpfs tmpfs rw,nosuid,nodev,noexec,relatime,size=3249276k,mode=755,inode64 │ ├─/run/lock tmpfs tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k,inode64 │ ├─/run/rpc_pipefs sunrpc rpc_pipefs rw,relatime │ └─/run/user/1000 tmpfs tmpfs rw,nosuid,nodev,relatime,size=3249272k,nr_inodes=812318,mode=700,uid=1000,gid=1000,inode64 │ ├─/run/user/1000/gvfs gvfsd-fuse fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 │ └─/run/user/1000/doc portal fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 ├─/boot/efi /dev/nvme0n1p1 vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro ├─/media/ostechnix/SK_WD_SSD /dev/sda1 exfat rw,nosuid,nodev,noexec,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,iocharset=utf8,errors=remount-ro ├─/var/lib/lxcfs lxcfs fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other └─/etc/pve /dev/fuse fuse rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other
Как видно из приведенного выше вывода, команда findmnt отображает целевую точку монтирования (TARGET), исходное устройство (SOURCE), тип файловой системы (FSTYPE) и соответствующие параметры монтирования, например, является ли файловая система доступной только для чтения/записи или только для чтения. (OPTIONS).
В моем случае тип файловой системы root(/) – EXT4.
Если вы не хотите отображать вывод в древовидном формате, вы можете использовать флаг -l для отображения типов файловых систем в виде простого списка.
$ findmnt -l
Вы также можете перечислить разделы только определенной файловой системы, например ext4, используя опцию -t.
$ findmnt -t ext4 TARGET SOURCE FSTYPE OPTIONS / /dev/sda2 ext4 rw,relatime,commit=360 └─/boot /dev/sda1 ext4 rw,relatime,commit=360,data=ordered
Findmnt также может производить вывод в стиле df.
$ findmnt --df
или
$ findmnt -D
Это эквивалентно команде df -T.
Можно также отобразить базовую файловую систему определенного раздела или точки монтирования.
Поиск устройства:
$ findmnt /dev/nvme0n1p2 TARGET SOURCE FSTYPE OPTIONS / /dev/nvme0n1p2 ext4 rw,relatime,errors=remount-ro /run/timeshift/backup /dev/nvme0n1p2 ext4 rw,relatime,errors=remount-ro
Поиск точки монтирования:
$ findmnt / TARGET SOURCE FSTYPE OPTIONS / /dev/nvme0n1p2 ext4 rw,relatime,errors=remount-ro
Можно даже найти файловые системы с определенной меткой:
$ findmnt LABEL=Storage
Более подробную информацию можно найти на страницах руководства по команде findmnt.
$ man findmnt
Команды findmnt достаточно, чтобы найти тип смонтированной файловой системы в Linux.
Она создана только для этой конкретной цели.
Однако существует еще несколько способов просмотра типов файловых систем в Linux.
Если вам интересно узнать об этом, читайте дальше.
Метод 2 – Проверка типа файловой системы в Linux с помощью команды blkid
Команда blkid используется для поиска и вывода атрибутов блочных устройств.
Она также входит в пакет util-linux, поэтому ее не нужно устанавливать.
Чтобы получить список всех блочных устройств вместе с типом файловой системы, просто запустите ее без каких-либо параметров:
$ sudo blkid
Пример вывода:
/dev/nvme0n1p1: UUID="CF87-3143" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="9dc59fb7-f900-484d-b4c5-c9090b901727" /dev/nvme0n1p2: UUID="99406049-9ff5-47d1-a1ce-d5e27cd859c0" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="f2d515b2-a3c4-4c8c-a609-91d5b755b001" /dev/nvme0n1p3: UUID="1ff239fc-674c-4749-9c73-fe5d0668071a" TYPE="swap" PARTUUID="95db6d7b-903b-4f8c-8583-bd00070aa45a" /dev/sda1: LABEL="SK_WD_SSD" UUID="2A81-C276" BLOCK_SIZE="512" TYPE="exfat" PTTYPE="dos" PARTUUID="6251cb36-01" /dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="VTOYEFI" LABEL="VTOYEFI" UUID="5A89-BA75" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="6251cb36-02"
Чтобы узнать тип файловой системы определенного устройства, например, /dev/sda1, выполните команду:
$ sudo blkid /dev/sda1 /dev/sda1: LABEL="SK_WD_SSD" UUID="2A81-C276" BLOCK_SIZE="512" TYPE="exfat" PTTYPE="dos" PARTUUID="6251cb36-01"
Вы также можете отобразить более подробную информацию с помощью команды:
$ sudo blkid -po udev /dev/sda1 ID_FS_LABEL=SK_WD_SSD ID_FS_LABEL_ENC=SK_WD_SSD ID_FS_UUID=2A81-C276 ID_FS_UUID_ENC=2A81-C276 ID_FS_VERSION=1.0 ID_FS_BLOCK_SIZE=512 ID_FS_TYPE=exfat ID_FS_USAGE=filesystem ID_PART_TABLE_TYPE=dos ID_PART_ENTRY_SCHEME=dos ID_PART_ENTRY_UUID=6251cb36-01 ID_PART_ENTRY_TYPE=0x7 ID_PART_ENTRY_FLAGS=0x80 ID_PART_ENTRY_NUMBER=1 ID_PART_ENTRY_OFFSET=2048 ID_PART_ENTRY_SIZE=1953457584 ID_PART_ENTRY_DISK=8:0
Для получения более подробной информации обратитесь к man-страницам команды blkid.
$ man blkid
см. также:
🐧 Команда Blkid на Linux для поиска подробной информации об устройствах
🐧 Как установить порядок монтирования файловых систем в современных дистрибутивах Linux
Метод 3 – Определение типа файловой системы Linux с помощью команды df
Команда df используется для составления отчета об использовании дискового пространства файловой системы в Linux и Unix-подобных операционных системах.
Чтобы узнать тип всех смонтированных файловых систем, просто выполните команду:
$ sudo df -T
Пример:
Метод 4 – Просмотр типа файловой системы Linux с помощью команды File
Команда file определяет тип указанного файла.
Она отлично работает для файлов без расширения.
Выполните следующую команду, чтобы узнать тип файловой системы раздела:
$ sudo file -sL /dev/nvme0n1p2 /dev/nvme0n1p2: Linux rev 1.0 ext4 filesystem data, UUID=99406049-9ff5-47d1-a1ce-d5e27cd859c0 (needs journal recovery) (extents) (64bit) (large files) (huge files)
Более подробную информацию можно найти на страницах руководства:
$ man file
Метод 5 – Отображение типа файловой системы в Linux с помощью команды Fsck
Команда fsck используется для проверки целостности файловой системы или ее восстановления.
Вы можете узнать тип файловой системы с помощью команды fsck, передав раздел в качестве аргумента, как показано ниже.
$ sudo fsck -N /dev/nvme0n1p2 fsck from util-linux 2.36.1 [/usr/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/nvme0n1p2
Для получения более подробной информации обратитесь к странице руководства команды fsck.
$ man fsck
см.также:
- Как отключить автоматически fsck в Linux
- 🐧 Как установить порядок монтирования файловых систем в современных дистрибутивах Linux
Метод 6 – Найти тип смонтированной файловой системы с помощью файла Fstab
Fstab – это файл, который содержит статическую информацию о файловых системах.
Этот файл обычно содержит точку монтирования, тип файловой системы и параметры монтирования.
Чтобы узнать тип файловой системы, просто выполните следующие действия:
$ cat /etc/fstab
Пример вывода:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # systemd generates mount units based on this file, see systemd.mount(5). # Please run 'systemctl daemon-reload' after making changes here. # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/nvme0n1p2 during installation UUID=99406049-9ff5-47d1-a1ce-d5e27cd859c0 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/nvme0n1p1 during installation UUID=CF87-3143 /boot/efi vfat umask=0077 0 1 # swap was on /dev/nvme0n1p3 during installation UUID=1ff239fc-674c-4749-9c73-fe5d0668071a none swap sw 0 0 LABEL=SK_WD_SSD /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=0 0 2
см. также:
- 🐧 Что такое Fstab на Linux | Введение в файл Linux /etc/fstab
- Как проверить файл fstab в Linux
- Как исправить “failed to mount /etc/fstab” в Linux
Метод 7 – Получение типа файловой системы в Linux с помощью команды lsblk
Команда lsblk отображает информацию об устройствах.
Чтобы отобразить информацию о смонтированных файловых системах, просто выполните команду: