Как найти типы файловых систем в Linux
Различные способы проверки типов файловой системы 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
без каких-либо параметров, она выводит список всех смонтированных файловых систем в древовидном формате:
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
Найдите тип файловой системы в Linux с помощью Findmnt
Как вы можете видеть в приведенном выше выводе, команда findmnt отображает целевую точку монтирования (TARGET), исходное устройство (SOURCE), тип файловой системы (FSTYPE) и соответствующие параметры монтирования, например, доступна ли файловая система для чтения/записи или чтения. только. (ПАРАМЕТРЫ). В моем случае тип корневой (/) файловой системы — EXT4.
Если вы не хотите отображать выходные данные в древовидном формате, вы можете использовать флаг -l для отображения типов файловых систем в простом формате обычного списка.
findmnt -l
Отображение типов файловой системы в формате списка с помощью команды Findmnt
Вы также можете перечислить разделы только определенной файловой системы, например 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
Пример вывода:
Вывод 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 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
Более подробную информацию можно найти на страницах руководства команды blkid
.
man blkid
Способ 3. Определение типа файловой системы Linux с помощью команды df
Команда df используется для отчета об использовании дискового пространства файловой системой в Linux и Unix-подобных операционных системах.
Чтобы узнать тип всех смонтированных файловых систем, просто запустите:
sudo df -T
Пример вывода:
Определите тип файловой системы Linux с помощью команды Df
Помните, что мы можем получить тот же результат с помощью команды findmnt -df
или findmnt -D
.
Подробную информацию о команде df
см. в следующем руководстве.
- Учебное пособие по команде df с примерами для начинающих
Также проверьте справочные страницы команды df
.
man df
Способ 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
Способ 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 можно найти в следующем руководстве.
- Что такое Fstab в Linux | Введение в файл /etc/fstab в Linux
Также обратитесь к справочным страницам команды fsck
.
man fstab
Способ 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]
Дополнительные сведения об использовании см. на страницах руководства по команде lsblk
.
man lsblk
Способ 8. Найдите тип смонтированной файловой системы с помощью команды монтирования
Команда mount используется для монтирования локальной или удаленной файловой системы в Unix-подобных системах.
Чтобы узнать тип файловой системы с помощью команды монтирования, выполните:
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)
Дополнительную информацию можно найти на страницах руководства по команде mount
.
man mount
Заключение
Это 8 различных команд Linux для поиска типов смонтированных файловых систем в Linux. Если вы знаете какие-либо другие методы, сообщите мне об этом в разделе комментариев ниже. Я буду проверять и обновлять это руководство соответствующим образом.
Связанное чтение:
- Как составить список файловых систем в Linux с помощью Lfs