- ⚙️ Как определить типы файловых систем на Linux
- Различные способы поиска типов файловых систем в Linux
- Метод 1 – Определение типа файловой системы в Linux с помощью Findmnt
- Метод 2 – Проверка типа файловой системы в Linux с помощью команды blkid
- Метод 3 – Определение типа файловой системы Linux с помощью команды df
- Метод 4 – Просмотр типа файловой системы Linux с помощью команды File
- Метод 5 – Отображение типа файловой системы в Linux с помощью команды Fsck
- Метод 6 – Найти тип смонтированной файловой системы с помощью файла Fstab
- Метод 7 – Получение типа файловой системы в Linux с помощью команды lsblk
- Метод 8 – Поиск типа смонтированной файловой системы с помощью команды mount
- Заключение
⚙️ Как определить типы файловых систем на Linux
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 без каких-либо опций, она выведет список всех смонтированных файловых систем в древовидном формате:
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 для отображения типов файловых систем в виде простого списка.
Вы также можете перечислить разделы только определенной файловой системы, например 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.
Это эквивалентно команде 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.
Команды findmnt достаточно, чтобы найти тип смонтированной файловой системы в Linux.
Она создана только для этой конкретной цели.
Однако существует еще несколько способов просмотра типов файловых систем в Linux.
Если вам интересно узнать об этом, читайте дальше.
Метод 2 – Проверка типа файловой системы в Linux с помощью команды blkid
Команда blkid используется для поиска и вывода атрибутов блочных устройств.
Она также входит в пакет util-linux, поэтому ее не нужно устанавливать.
Чтобы получить список всех блочных устройств вместе с типом файловой системы, просто запустите ее без каких-либо параметров:
/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.
Метод 3 – Определение типа файловой системы Linux с помощью команды df
Команда df используется для составления отчета об использовании дискового пространства файловой системы в Linux и Unix-подобных операционных системах.
Чтобы узнать тип всех смонтированных файловых систем, просто выполните команду:
Метод 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)
Более подробную информацию можно найти на страницах руководства:
Метод 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.
Метод 6 – Найти тип смонтированной файловой системы с помощью файла Fstab
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. # # # / 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
Метод 7 – Получение типа файловой системы в Linux с помощью команды lsblk
Команда lsblk отображает информацию об устройствах.
Чтобы отобразить информацию о смонтированных файловых системах, просто выполните команду:
$ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda ├─sda1 exfat 1.0 SK_WD_SSD 2A81-C276 747.5G 20% /media/ostechnix/SK_WD_SSD └─sda2 vfat FAT16 VTOYEFI 5A89-BA75 nvme0n1 ├─nvme0n1p1 vfat FAT32 CF87-3143 507.6M 1% /boot/efi ├─nvme0n1p2 ext4 1.0 99406049-9ff5-47d1-a1ce-d5e27cd859c0 214.4G 48% /run/timeshift/backup └─nvme0n1p3 swap 1 1ff239fc-674c-4749-9c73-fe5d0668071a [SWAP]
Метод 8 – Поиск типа смонтированной файловой системы с помощью команды mount
Команда mount используется для монтирования локальной или удаленной файловой системы в Unix-подобных системах.
Чтобы узнать тип файловой системы с помощью команды mount, выполните следующие действия:
$ mount | grep "^/dev" /dev/nvme0n1p2 on / type ext4 (rw,relatime,errors=remount-ro) /dev/nvme0n1p1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) /dev/sda1 on /media/ostechnix/SK_WD_SSD type exfat (rw,nosuid,nodev,noexec,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,iocharset=utf8,errors=remount-ro) /dev/fuse on /etc/pve type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other) /dev/nvme0n1p2 on /run/timeshift/backup type ext4 (rw,relatime,errors=remount-ro)
Заключение
Это 8 различных команд Linux для поиска смонтированных типов файловых систем в Linux.
Если вы знаете какие-либо другие методы, не стесняйтесь сообщить мне об этом в разделе комментариев ниже.