Как узнать расположение всех смонтированных файловых систем Linux
Обновлено: 21.11.2024
Как вы, возможно, уже знаете, Linux поддерживает множество файловых систем, таких как Ext4, ext3, ext2, sysfs, securityfs, FAT16, FAT32, NTFS и многие другие. Наиболее часто используемая файловая система — Ext4. Вы когда-нибудь задумывались, какой тип файловой системы вы сейчас используете в своей системе Linux? Нет? Нет проблем! В этом руководстве объясняется, как найти тип смонтированной файловой системы в Linux и Unix-подобных операционных системах.
Найти тип смонтированной файловой системы в Linux
В Linux может быть много способов найти тип файловой системы. Здесь я дал 8 различных методов. Давайте начнем?
Способ 1. Поиск типа смонтированной файловой системы в Linux с помощью Findmnt
Это наиболее часто используемый метод определения типа файловой системы. Команда findmnt выведет список всех смонтированных файловых систем или выполнит поиск файловой системы. Команда findmnt может выполнять поиск в /etc/fstab, /etc/mtab или /proc/self/mountinfo.
Команда findmnt предустановлена в большинстве дистрибутивов Linux, поскольку она является частью пакета util-linux. На всякий случай, если он недоступен, просто установите этот пакет, и все готово. Например, вы можете установить пакет util-linux в системах на базе Debian с помощью команды:
Давайте посмотрим, как использовать команду findmnt для определения смонтированных файловых систем.
Если вы запустите его без каких-либо аргументов/параметров, он отобразит список всех смонтированных файловых систем в древовидном формате, как показано ниже.
Пример вывода:
Найти тип смонтированной файловой системы в Linux с помощью Findmnt
Как видите, команда findmnt отображает целевую точку монтирования (TARGET), исходное устройство (SOURCE), тип файловой системы (FSTYPE) и соответствующие параметры монтирования, например, доступна ли файловая система для чтения/записи или только для чтения. . (ОПЦИИ). В моем случае мой корневой (/) тип файловой системы — EXT4.
Если вам не нравится/не хочется отображать выходные данные в древовидном формате, используйте флаг -l для отображения в простом, простом формате.
вывод команды findmnt в древовидном формате
Вы также можете перечислить определенный тип файловой системы, например ext4, используя параметр -t.
Findmnt также может создавать выходные данные в стиле df.
Пример вывода:
Вы также можете отобразить файловые системы для определенного устройства или точки монтирования.
Поиск устройства:
Поиск точки подключения:
Вы даже можете найти файловые системы с определенной меткой:
Для получения дополнительной информации см. справочные страницы.
Команды findmnt достаточно, чтобы найти тип смонтированной файловой системы в Linux. Он создается только для этой конкретной цели. Однако есть также несколько других способов узнать тип файловой системы. Если вам интересно узнать, читайте дальше.
Способ 2. Найдите тип смонтированной файловой системы с помощью команды blkid
Команда blkid используется для поиска и печати атрибутов блочного устройства. Он также является частью пакета util-linux, так что вам не нужно его устанавливать.
Чтобы получить список всех блочных устройств, просто запустите его без каких-либо параметров:
Пример вывода:
Чтобы узнать тип файловой системы конкретного устройства, например /dev/sda1, выполните:
Вы также можете отобразить более подробную информацию с помощью команды:
Подробнее см. справочные страницы.
Способ 3. Найдите тип смонтированной файловой системы с помощью команды df
Команда df используется для отчета об использовании дискового пространства файловой системой в Unix-подобных операционных системах. Чтобы узнать тип всех смонтированных файловых систем, просто запустите:
Пример вывода:
Найти тип смонтированной файловой системы в Linux с помощью команды df
Подробнее о команде df см. в следующем руководстве.
Кроме того, проверьте справочные страницы.
Способ 4. Найдите тип смонтированной файловой системы с помощью команды file
Команда file определяет тип указанного файла. Он прекрасно работает с файлами без расширения.
Выполните следующую команду, чтобы узнать тип файловой системы раздела:
Дополнительные сведения см. на справочных страницах:
Способ 5. Найдите тип смонтированной файловой системы с помощью команды fsck
Команда fsck используется для проверки целостности файловой системы или ее восстановления. Вы можете узнать тип файловой системы, передав раздел в качестве аргумента, как показано ниже.
Подробнее см. справочные страницы.
Способ 6. Найдите тип смонтированной файловой системы с помощью команды fstab
fstab — это файл, содержащий статическую информацию о файловых системах. Этот файл обычно содержит точку монтирования, тип файловой системы и параметры монтирования.
Чтобы просмотреть тип файловой системы, просто запустите:
Найти тип смонтированной файловой системы в Linux с помощью команды fstab
Подробнее см. справочные страницы.
Способ 7. Найдите тип смонтированной файловой системы с помощью команды lsblk
Команда lsblk отображает информацию об устройствах.
Чтобы отобразить информацию о смонтированных файловых системах, просто запустите:
Подробнее см. справочные страницы.
Способ 8. Найдите тип смонтированной файловой системы с помощью команды mount
Команда mount используется для монтирования локальной или удаленной файловой системы в Unix-подобных системах.
Чтобы узнать тип файловой системы с помощью команды mount, выполните следующие действия:
Подробнее см. справочные страницы.
И это пока все. Теперь вы знаете 8 различных команд Linux для определения типа смонтированной файловой системы Linux. Если вы знаете какие-либо другие методы, не стесняйтесь, дайте мне знать в разделе комментариев ниже. Я проверю и соответствующим образом обновлю это руководство.
Мы уже знаем, что многие файловые системы используются и поддерживаются операционной системой Linux, например, ext2, ext3, ext4, FAT16, FAT32 и многие другие. Файловая система необходима для работы в операционных системах Linux и Windows. Если вы хотите узнать, какой тип файловой системы поддерживает ваша ОС Linux, эта статья предназначена для вас. Эта статья даст вам пошаговое руководство, чтобы узнать, какая файловая система монтируется в операционной системе Linux.
Чтобы начать работу, в вашей системе должен быть установлен любой дистрибутив Linux. Войдите в свою систему Linux и откройте командный терминал. Убедитесь, что в вашей системе установлен пакет «util-linux», чтобы начать проверку смонтированной файловой системы. Для этого попробуйте приведенную ниже команду «apt», за которой следует ключевое слово «install» в оболочке. Мгновенно установка будет завершена, и теперь вы можете проверить смонтированную файловую систему.
Существует множество способов проверки файловой системы в вашей системе. Мы проиллюстрируем каждый из них один за другим.
Метод 01: Использование команды Findmnt
Наш первый и наиболее часто используемый в системе Linux способ узнать тип файловой системы — это команда «findmnt». Команда «findmnt» помогает нам найти все смонтированные файловые системы. Давайте начнем работать над этим. Чтобы просмотреть список смонтированных файловых систем, введите простую команду «findmnt» в оболочке, как показано ниже, которая выведет список всех файловых систем в древовидном формате. Этот снимок содержит все необходимые сведения о файловой системе; его тип, источник и многое другое. Из изображения видно, что наша основная файловая система — «ext4».
Давайте отобразим файловые системы в простом формате, используя приведенную ниже команду «findmnt» с флагом «-l».
Мы можем перечислить тип нашей смонтированной файловой системы, используя команду findmnt вместе с флагом «-t», за которым следует имя файловой системы, например, «ext4». Итак, выполните указанную ниже команду в оболочке. Вывод показывает информацию о файловой системе «ext4».
Чтобы просмотреть список вывода в стиле «df» о файловой системе, вы должны использовать приведенную ниже команду. Вы можете видеть, что он покажет дополнительную информацию о файловых системах и их источниках.
Вы можете использовать модифицированную форму этой команды следующим образом:
Если вы хотите найти настроенную файловую систему на определенном устройстве, вы можете сделать это с помощью приведенной ниже команды. Вы можете видеть, что вывод показывает файловую систему типа «vfat» для конкретного устройства.
Если вы хотите увидеть точку монтирования файловой системы, попробуйте использовать приведенную ниже команду «findmnt», за которой следует знак обратной косой черты «/».
Если вы хотите узнать больше о файловой системе, используйте команду man следующим образом:
Вывод показан ниже.
Метод 02: использование команды Blkid
В большинстве случаев команды «findmnt» будет достаточно, чтобы узнать тип файловой системы, но для этой цели есть несколько альтернативных команд. Одна из них — команда «blkid», которую нам не нужно монтировать. После выполнения приведенной ниже команды «blkid» вместе с ключевым словом «sudo» мы сможем отобразить все блочные устройства вместе с типом файловой системы.
Мы можем использовать команду «blkid», чтобы узнать файловую систему для конкретного устройства.
Чтобы просмотреть дополнительные сведения о файловой системе, попробуйте следующую команду:
Для получения дополнительной информации попробуйте команду man ниже:
Вывод приведен ниже.
Метод 03: Использование команды DF
Команда DF предназначена для определения использования дискового пространства файловой системой. Используйте его с флагом «-T», чтобы узнать все типы файловой системы.
Чтобы узнать больше, просмотрите справочную страницу.
Подробности приведены на снимке.
Метод 04: Использование команды "Файл"
Еще один способ проверить смонтированную файловую систему — использовать команду «файл» в оболочке. Вы можете использовать его для файлов без расширения. Следовательно, выполните приведенную ниже команду, чтобы узнать файловую систему для раздела. Для работы может потребоваться ваш пароль.
Чтобы получить дополнительную информацию, попробуйте следующую команду man в оболочке.
Подробности можно увидеть на главной странице, как показано на приложенном изображении.
Метод 05: Использование команды Fsck
Команду fsck можно использовать для проверки или восстановления надежности файловой системы, указав раздел в качестве аргумента. Вам решать, какая это файловая система.
Для получения дополнительной информации посетите главную страницу.
И вы можете увидеть подробности, показанные ниже.
Метод 06: Использование команды Fstab
Еще один новый способ просмотра файловой системы — использование «fstab» в команде cat. Поэтому попробуйте выполнить приведенную ниже команду cat в оболочке.
Для получения дополнительной информации попробуйте ту же команду man вместе с ключевым словом «fstab».
Теперь у вас будет подробная информация о файловой системе, как показано на прикрепленном изображении.
Способ 07: Использование команды Lsblk
Команда lsbkl покажет типы файловых систем и устройства.
Выполните приведенную ниже команду man, чтобы увидеть подробности.
И дополнительная информация о файловой системе отображается ниже.
Метод 08: Использование команды grep
И последнее, но не менее важное: для проверки файловой системы используется команда grep.
Вывод:
Мы выполнили все команды для проверки смонтированной файловой системы. Надеюсь, вы легко сможете проверить смонтированную файловую систему в вашем дистрибутиве Linux.
Об авторе
Акса Ясин
Я целеустремленный профессионал в области информационных технологий и обожаю писать. Я технический писатель и люблю писать для всех разновидностей Linux и Windows.
Обычно я использую mount, чтобы проверить, какие файловые системы смонтированы. Я также знаю, что есть какая-то связь между mount и /etc/mtab, но я не уверен в деталях. После прочтения Как проверить, смонтирован ли /proc/, я еще больше запутался.
Мой вопрос: как получить наиболее точный список смонтированных файловых систем? Должен ли я просто использовать mount или читать содержимое /etc/mtab или содержимое /proc/mounts? Что даст наиболее достоверный результат?
Не могу не сослаться на Что такое /etc/mtab в Linux? потому что он охватывает детали, не относящиеся к Linux, которые не дает ни один из ответов здесь.
5 ответов 5
Окончательный список смонтированных файловых систем находится в /proc/mounts .
Если в вашей системе есть какие-либо контейнеры, в /proc/mounts перечислены только те файловые системы, которые находятся в вашем текущем контейнере. Например, в chroot /proc/mounts перечислены только те файловые системы, точка монтирования которых находится внутри chroot. (Есть способы избежать chroot, учтите.)
В /etc/mtab также есть список смонтированных файловых систем. Этот список поддерживается командами mount и umount. Это означает, что если вы не используете эти команды (что бывает довольно редко), ваше действие (монтирование или размонтирование) не будет записано. На практике в основном в chroot вы найдете файлы /etc/mtab, которые сильно отличаются от состояния системы. Кроме того, монтирование, выполненное в chroot, будет отражаться в /etc/mtab chroot, но не в главном /etc/mtab. Действия, выполняемые, когда /etc/mtab находится в файловой системе только для чтения, также не записываются туда.
Причина, по которой вы иногда хотите обратиться к /etc/mtab вместо /proc/mounts или в дополнение к ней, заключается в том, что, поскольку он имеет доступ к командной строке монтирования, он иногда может представлять информацию таким образом, легче понять; например, вы видите параметры монтирования в соответствии с запросом (тогда как /proc/mounts также перечисляет монтирование и значения по умолчанию ядра), а связанные монтирования отображаются как таковые в /etc/mtab .
Какой смысл поддерживать /etc/mtab при монтировании, если на него нельзя положиться? Не было бы лучше, если бы mount вместо этого представлял информацию из /proc/mounts?
@PiotrDobrogost /etc/mtab может записывать информацию, которую ядро не отслеживает, например, первоначально запрошенные параметры, и привязывать монтирования, отображаемые как таковые, а не как повторяющиеся записи для устройств. Тем не менее, многие дистрибутивы стремятся сделать /etc/mtab символической ссылкой на /proc/mounts .
Тем не менее, многие дистрибутивы стремятся сделать /etc/mtab символической ссылкой на /proc/mounts . Приятно слышать — добавление этой информации к ответу сделало бы его еще лучше. Считаете ли вы, что отслеживание запрошенных параметров ядром было бы осуществимым и полезным?
Обратите внимание, что вам нужно отменить экранирование содержимого /proc/mounts. Как описано на странице getmntent(3), пробел (\040), табуляция (\011), новая строка (\012) и обратная косая черта (\134) должны обрабатываться особым образом. Особенно, если разрешено монтирование пользователей, вам нужно быть очень осторожным при работе с этими путями.
Пожалуйста, см. также другой ответ для использования команды findmnt, которая является предпочтительным способом с 2010 года и, вероятно, единственным безопасным способом в ближайшем будущем, когда пространства имен монтирования станут обычным явлением.
Начиная с версии 2.18 (июль 2010 г.) util-linux включает инструмент, позволяющий отображать список смонтированных в данный момент файловых систем:
Вы можете переключиться с представления дерева по умолчанию на представление списка с помощью -l , определить выходные столбцы с помощью -o (аналогично lsblk ), отфильтровать результаты на основе типа файловой системы с помощью -t и т. д.
Для получения дополнительной информации прочитайте справочную страницу (и findmnt --help, чтобы получить список доступных столбцов)
Этот ответ содержит наиболее полный список, включая самые малоизвестные способы монтирования, такие как /sys/fs/bpf, /sys/fs/cgroup, /sys/firmware/efi/efivars и т. д. твой друг.
Большое спасибо. Это решает проблему, когда вы просто хотите узнать цель в одном списке, таким образом, я могу использовать его в скрипте для вызова нужного устройства, просто набрав часть имени цели.
Возможно, потому что прошло 5 лет с тех пор, как был дан ответ на этот вопрос, что-то изменилось. Кошка /proc/mounts создает много информации, которая вам не нужна. Сегодня, ИМХО, я считаю это окончательным решением.
когда вы читаете справочные страницы, вы можете делать всевозможные варианты, но это то, что вам нужно. Например, чтобы еще больше очистить результаты, вы можете исключить типы файлов «tmpfs» с помощью этой команды:
df работает на уровне файловой системы, а не на уровне файлов.
Приведенные выше команды также включают сетевое подключение.
Чтобы увидеть немного больше информации, используйте это:
ПРИМЕЧАНИЕ При медленных сетевых подключениях это может занять несколько минут!
Если у вас нет смонтированных сетевых подключений или вы не заботитесь о них (и у вас есть права суперпользователя), то это еще лучше:
Вы не обязаны быть пользователем root, но в некоторых полях/столбцах (например, в метке) будут пустые данные, что вполне допустимо, поскольку в вопросах нужно знать, какие файловые системы смонтированы.
Убунту. Однако я только что обнаружил «findmnt», который не использует root и перечисляет смонтированные в сети файловые системы. Я думал отредактировать свой ответ, чтобы включить это знание.
Кстати, если вы пытаетесь использовать --output с чем-то вроде Ubuntu 12, который не поддерживает эти параметры, ознакомьтесь с ответом findmnt от don_crissti ниже, который их поддерживает.
Похоже, что findmnt нуждается в более широких возможностях (проверено с root; у root есть все возможности) для отображения меток.
В большинстве случаев монтирование является наиболее удобным методом. Чтобы получить полный и точный список смонтированных в настоящее время файловых систем, вы должны прочитать содержимое /proc/mounts (например, с помощью cat /proc/mounts ).
Например, если монтирование / чтение и запись завершились неудачно, и затем он был смонтирован только для чтения в качестве запасного варианта, /etc/mtab (из которого команда mount читает, чтобы сообщить вам, что смонтировано, и записывает, если это возможно, когда она изменяет то, что смонтировано) не будет обновляться, чтобы отразить, что / (который содержит /etc/mtab ) в настоящее время смонтирован только для чтения. В этой ситуации запуск mount обычно сообщает (неверно), что / был смонтирован для чтения и записи.
В нормальных условиях (т. е. когда файловая система, в которую он входит, может быть записана), /etc/mtab содержит список смонтированных в данный момент файловых систем. Это не следует путать с /etc/fstab , который содержит список файловых систем, которые должны монтироваться автоматически при запуске системы.
Конечно, если виртуальная файловая система /proc сама по себе не смонтирована, то вы не сможете прочитать какие-либо виртуальные файлы в ней, включая /proc/mounts . Это очень редко бывает. В этой ситуации mount, вероятно, лучший вариант для просмотра того, что смонтировано.
Если смонтированный источник по какой-либо причине больше недоступен (в моем случае срок действия пароля моего домена истек), каталог точки монтирования пуст и (по крайней мере, для меня) монтирование больше не отображается в /proc/mount .< /p>
Я отчаянно искал любые такие монтирования, так как подозревал, что какое-то монтирование часто пытается получить доступ к моей учетной записи домена со старыми учетными данными (каждые несколько секунд) и, таким образом, часто блокирует учетную запись. Вот почему я нашел этот вопрос в первую очередь. Но /proc/mounts мне не подходил.
Я знал, что, вероятно, выполнил монтирование с сервера Ubuntu с помощью команды, подобной приведенной ниже, но не был уверен, какой mount_point_dir я мог бы использовать, поскольку ни одна из моих обычных точек монтирования не была смонтирована.
Наконец-то я нашел подтверждение того, что действительно существовали некоторые проблемы с монтированием с авторизацией из системного журнала в /var/log/syslog . Я видел много строк в этом журнале со следующими утверждениями:
Это подтвердило мои подозрения, и я смог получить дополнительные подтверждения, просмотрев статистику и данные отладки в папке /proc/fs/cifs.
Дополнительную информацию см. здесь.
Хотя на самом деле я никогда не видел информацию о target mount_point_dir , только смонтированный источник, мне этого было достаточно для решения моей проблемы, так как это побудило меня сделать перезагрузку сервера, после чего монтирования пропали, а также проблема с блокировкой учетной записи.
Меня спросили, как посмотреть все точки монтирования в Linux. Несмотря на то, что я всегда делал это для себя с помощью команды mount, я был удивлен, когда обнаружил, что нет более удобного для человека способа, которым я мог бы объяснить. Поэтому я решил написать учебник, который включает в себя различные методы для достижения этой цели.
Хотя запуск команд для получения информации о точках монтирования довольно прост, работа с выводом может быть неудобной для некоторых пользователей. Прочитав это руководство, вы узнаете, как получить разные результаты с помощью различных доступных команд: cat, findmnt, mount и df. Тем не менее ни один формат не является действительно удобным для человека.
Просмотр точек монтирования с помощью findmnt:
Команда findmnt выводит список всех точек подключения. Для этого findmnt читает файлы /etc/fstab, /etc/fstab.d, /etc/mtab или /proc/self/mountinfo.
Чтобы запустить его, просто введите команду ниже.
Как вы можете видеть в выводе, есть 4 столбца:
- TARGET: в этом столбце указана точка подключения.
- ИСТОЧНИК: в этом столбце показано подключенное устройство.
- FSTYPE: здесь описывается файловая система.
- ВАРИАНТЫ. В этом столбце показаны параметры точки подключения, например "Только для чтения" или "Запись".
Показать точки монтирования с помощью cat:
Самый точный способ увидеть точки монтирования в Linux — прочитать файл /proc/mounts с помощью cat. Это также менее удобный для человека способ с худшим визуальным результатом.
Преимущество этого метода заключается в том, что ядро напрямую предоставляет информацию для просмотра точек монтирования, а не более удобными для человека способами, как альтернативы, описанные в этом руководстве
Чтобы увидеть все точки монтирования с помощью cat, выполните команду, как показано ниже.
Как видите, вывод не удобен для пользователя, но считается наиболее точным методом проверки подключенных устройств в Linux.
Просмотр точек подключения с помощью команды mount:
Команда mount, вероятно, является самой известной командой, описанной в этом руководстве. Когда-то нам нужно было запускать его каждый раз, когда мы хотели смонтировать устройство, это не было автоматически, как сегодня. Запустив его, вы получите вывод со всеми смонтированными файловыми системами. Если за ним следует флаг -l, он также покажет имя точки монтирования; вывод аналогичен команде mount без флагов.
Как видите, в последних двух строках есть смонтированный флеш-накопитель с дистрибутивом Kali Linux.
Показать точки подключения с помощью df (диск свободен):
Команда df (Disk Free) также полезна для печати всех точек подключения. Команда df в основном используется для отображения доступного и занятого места на всех устройствах хранения.
Чтобы получить вывод со всеми точками монтирования с помощью df, просто запустите его без дополнительных параметров, как показано ниже.
Снова вы видите, что в последней строке смонтировано устройство хранения /dev/sdb1.
В этом выводе отображаются 4 столбца:
- Файловая система. В этом столбце указана файловая система.
- 1K-Blocks: здесь вы можете увидеть размер.
- Используется. В этом столбце показано используемое пространство (в блоках по 1 КБ).
- Доступно: доступное используемое пространство (блоками по 1 КБ).
- Использование%: процент используемого пространства.
- Смонтировано: точка подключения.
Дополнительную информацию о df можно получить в Linux Commands for Disk Space.
Что происходит, когда мы монтируем или отключаем устройство в Linux?
При монтировании файловой системы, например компакт-диска, жесткого диска или USB-накопителя, вы создаете точку монтирования в своей системе. Эта точка монтирования означает виртуальное хранение содержимого компакт-диска, жесткого диска или USB-накопителя в вашей системе. Файлы на самом деле не хранятся в хранилище вашей системы, но система делает их доступными из себя, импортируя их в свою иерархию файловой системы.
Когда вы размонтируете устройство, сделайте прямо противоположное и сообщите системе, чтобы она перестала предоставлять точки подключения для внешних файлов.
Сегодня монтирование устройств не является распространенной задачей, так как рынок завоевали более удобные дистрибутивы Linux. Когда-то пользователям приходилось монтировать каждое внешнее устройство вручную, указывая путь к внешнему устройству и файловую систему.
Вывод:
Как видите, увидеть все монтирования в Linux довольно просто. Linux предлагает вам множество методов для выполнения этой задачи, просто запустив команду. Как показано в руководстве, метод cat является наиболее точным и менее удобным для человека.
Другие инструменты, такие как findmnt, имеют немного улучшенный формат, что делает его более удобным для пользователя. Монтирование, размонтирование и проверка состояния точек монтирования — это базовые знания, которыми должен владеть любой пользователь Linux. В некоторых Unix-подобных дистрибутивах Linux, таких как Slackware, автоматическое монтирование не включено по умолчанию.
Спасибо, что прочитали это руководство, объясняющее, как просмотреть все монтирования в Linux. Продолжайте следовать Linux Hint, чтобы получить дополнительные советы и руководства по Linux.
Об авторе
Дэвид Адамс
Дэвид Адамс — системный администратор и писатель, специализирующийся на технологиях с открытым исходным кодом, программном обеспечении для обеспечения безопасности и компьютерных системах.
Читайте также: