Проверить смонтирован ли диск linux

Как лучше всего проверить, смонтирован ли том в скрипте Bash?

Как лучше всего проверить, смонтирован ли том в скрипте Bash?

Что мне действительно нравится, так это метод, который я могу использовать так:

Избегайте использования, /etc/mtab потому что это может быть противоречивым.

Избегайте труб, mount потому что это не должно быть так сложно.

(Пробел после /mnt/foo должен избегать совпадения, например /mnt/foo-bar .)

findmnt -rno SOURCE,TARGET «$1» избегает всех проблем в других ответах. Это чисто делает работу с одной командой.

Другие подходы имеют следующие недостатки:

  • grep -q и grep -s являются дополнительным ненужным шагом и не поддерживаются везде.
  • /proc/\* не поддерживается везде
  • mountinfo основан на / proc / ..
  • cut -f3 -d’ ‘ портит пробелы в именах путей
  • Разбирая пробел маунта проблематично. Это страница руководства теперь говорит:

.. Режим листинга поддерживается только для обратной совместимости.

Для более надежного и настраиваемого вывода используйте findmnt (8), особенно в ваших скриптах.

Bash функции:

Примеры использования:

/mnt/dev/sda1 , я мог бы неправильно вещь , которая /dev/sda1 крепится с помощью команды mount | grep ‘/dev/sda1’ . Я не могу получить ложное срабатывание, используя findmnt . Хороший ответ!

Такой сценарий никогда не будет переносимым. Грязный секрет в unix состоит в том, что только ядро ​​знает, где находятся файловые системы, и, за исключением таких вещей, как / proc (не переносимый), он никогда не даст вам прямого ответа.

Обычно я использую df, чтобы узнать, что такое точка монтирования подкаталога и в какой файловой системе он находится.

Например (требуется оболочка posix, например, ash / AT & T ksh / bash / etc)

Кинда рассказывает вам полезную информацию.

Вот что я использую в одном из моих заданий cron резервного копирования rsync. он проверяет, смонтирован ли / backup, и пытается смонтировать его, если это не так (может произойти сбой, потому что диск находится в отсеке горячей замены и может даже не присутствовать в системе)

ПРИМЕЧАНИЕ: следующее работает только на linux, потому что это greps / proc / mounts — более переносимая версия запускает ‘mount | grep / backup ‘, как в ответе Мэтью ..

Так как для монтирования вам в любом случае необходимо иметь каталог, который монтируется, моя стратегия всегда заключалась в том, чтобы создать поддельный файл со странным именем файла, которое никогда не будет использоваться, и просто проверить его существование. Если файл был там, то на этом месте ничего не было смонтировано .

Я не думаю, что это работает для подключения сетевых дисков или подобных вещей. Я использовал его для флешек.

Как насчет сравнения номеров устройств? Я просто пытался придумать самый эзотерический способ ..

В моей логике есть недостаток .

Сообщения об эхо-ошибках, вероятно, являются избыточными, потому что stat также будет отображать ошибку.

Ни один из них не удовлетворяет случаю использования, где данный каталог является подкаталогом в другой точке монтирования. Например, у вас может быть / вещь, которая является монтированием NFS к хосту: / real_thing. Использование grep для этой цели в / proc / mounts / etc / mtab или ‘mount’ не будет работать, потому что вы будете искать точку монтирования, которая не существует. Например, / thing / thingy не является точкой монтирования, но / thing монтируется на хосте: / real_thing. Наилучший ответ, за который проголосовали здесь, на самом деле НЕ «лучший способ определить, смонтирован ли каталог / volumne». Я бы проголосовал за использование «df -P» (режим стандартов -P POSIX) в качестве более чистой стратегии:

Читайте также:  Как восстановить проигрыватель windows media для windows

Результат выполнения этого будет:

Если вы хотите знать, какова реальная точка монтирования, не проблема:

Результатом этой команды будет:

Все это очень полезно, если вы пытаетесь создать какой-либо chroot, который отражает точки монтирования вне chroot, внутри chroot, через какой-либо произвольный каталог или список файлов.

Источник

Просмотр смонтированных разделов в системе

Просмотр таблицы разделов (Partition Table) и FAT жесткого диска
Приветствую всех желающих пообщаться! Нужна срочная помощь по Visual C++ 6.0 или выше. Есть.

Получить список смонтированных дисков
Как получить список дисков в системе (то есть d:, c:, k: и т.д.) через коммандную строку? Нужно.

Как получить список смонтированных систем?
Здравствуйте! Требуется получить информацию об одной из смонтированных файловых системах. Как.

Поиск файла на внешних устройствах или как получить список всех смонтированных носителей
В общем есть задача найти файл test.txt в директории testdir на любом устройстве SD карта или USB.

Собственно, blkid — вывести все подключенные (физически) блочные устройства. Команда по-умолчанию берёт информацию из файла /etc/blkid/blkid.tab, который обновляется в момент запуска системы. Опция -c говорит, что брать инфу надо из указанного далее файла, но файл /dev/null всегда пуст, поэтому команде приходится снова опрашивать файлы действительных устройств. Отсюда получаем только самую свежую и достоверную информацию.

Также следует учитывать, что blkid выводит не сами устройства, а адреса их файлов и содержащуюся в них информацию об устройствах, то есть вывод примерно вот такой:

Источник

Подключение файловых систем. Команда mount в Linux

В ОС Linux команда mount используется для подключения (монтирования) файловых систем и переносных накопителей (например, USB-флешек) к конкретным точкам монтирования в дереве директорий. Команда umount отключает (размонтирует) смонтированную файловую систему от дерева директорий. В данном руководстве мы рассмотрим основы подключения и отключения различных файловых систем при помощи команд mount и umount.

Вывод списка смонтированных файловых систем(ФС)

При выполнении без аргументов команда mount выведет все подключенные в данный момент ФС:

По умолчанию результат будет содержать все ФС, в том числе виртуальные, такие как cgroup, sysfs и т. д. Каждая строка содержит информацию об имени устройства, директории, в которой оно смонтировано, типе и опциях монтирования в следующей форме:

Для отображения только ФС определенного типа используется опция -t. Например, так можно отобразить только разделы ext4:

Монтирование файловой системы

Для подключения файловой системы к конкретному местоположению (точке монтирования) команда mount используется в следующей форме:

После подключения точка монтирования становится корневой директорией смонтированной ФС. Например, смонтировать жесткий диск /dev/sdb1 в директорию /mnt/media можно следующим образом:

Обычно при монтировании устройства с распространенной ФС, например, ext4 или xfs, команда mount автоматически определяет ее тип. Однако, некоторые ФС не распознаются. Их тип нужно указывать в явном виде. Для этого используется опция -t:

Читайте также:  Изменение права доступа windows

Чтобы указать дополнительные опции монтирования, используется флаг -o:

Можно указать несколько опций, разделенных запятыми (после запятых не должно быть пробелов). Ниже предоставлены основные опции команды

-V — вывести версию утилиты;
-h — вывести справку;
-v — подробный режим;
-a,all — примонтировать все устройства, описанные в fstab;
-F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
-f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
-n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
-l, —show-labels — добавить метку диска к точке монтирования;
-c — использовать только абсолютные пути;
-r, —read-only — монтировать раздел только для чтения;
-w, —rw — монтировать для чтения и записи;
-L, —label — монтировать раздел по метке;
-U, —uuid — монтировать раздел по UUID;
-T, —fstab — использовать альтернативный fstab;
-B, —bind — монтировать локальную папку;
-R, —rbind — перемонтировать локальную папку.

Полный список опций можно получить, выполнив команду man mount.

Примеры использования mount

Давайте рассмотрим несколько примеров использования утилиты. Как правило для монтирования нужно выполнить всего два действия

  1. Создать точку монтирования
  2. Примонтировать файловую систему

Монтирование USB-накопителя/жесткого диска

В большинстве современных дистрибутивов Linux, например, Ubuntu, USB-накопители автоматически монтируются при подключении, но иногда может потребоваться ручное монтирование устройства. Чтобы смонтировать USB-накопитель, выполните следующие действия.

Создайте точку монтирования

Если USB-накопитель использует устройство /dev/sdd1, его можно смонтировать в директорию /media/usb следующей командой:

Для поиска устройства и типа файловой системы можно воспользоваться любой из следующих команд:

Монтирование файлов ISO

Для монтирования файла ISO используется петлевое (loop) устройство — специальное виртуальное устройство, которое позволяет осуществлять доступ к файлу как к блочному устройству.

Сначала нужно создать точку монтирования в любой желаемой директории:

Смонтируйте файл ISO следующей командой:

Не забудьте заменить /path/to/image.iso на путь к вашему файлу ISO.

Монтирование NFS

Для монтирования системы NFS требуется установить клиент NFS. Установка клиента NFS в Ubuntu и Debian:

Установка клиента NFS в CentOS и Fedora:

Создайте директорию, которая будет точкой монтирования удаленной файловой системы:

Обычно требуется автоматическое монтирование удаленной директории NFS при загрузке. Для этого нужно изменить файл конфигурации /etc/fstab. Откройте его в любом текстовом редакторе, например:

Добавьте в файл следующую строку, заменив сервер:/директория на имя или IP-адрес сервера NFS и экспортируемую директорию:

Смонтируйте ресурс NFS следующей командой:

Размонтирование файловой системы

Для отключения смонтированной файловой системы используется команда umount, в качестве аргумента которой указывается директория, в которую она была смонтирована (точка монтирования) или имя устройства:

Если файловая система используется, umount не сможет ее отключить. В таких ситуациях можно воспользоваться командой fuser, чтобы выяснить, какие процессы осуществляют доступ к файловой системе:

Определив процессы, можно остановить их и размонтировать файловую систему. Также для отключения занятой файловой системы сразу после завершения ее использования можно воспользоваться опцией -l (—lazy, “ленивое” отключение):

Для принудительного размонтирования применяется опция -f (—force). Обычно она используется для отключения недостижимой системы NFS.

Во всех остальных случаях принудительное отключение нежелательно, так как может привести к повреждению данных в файловой системе.

Сохранение параметров mount после перезагрузки

Для того, что бы устройства при перезагрузки системы монтировались автоматически, необходимо прописать инструкции монтирования в файл /etc/fstab. Файл /etc/fstab содержит список записей в следующем формате:

Читайте также:  Драйвера для xerox workcentre 6015 для windows 10

Подключит устройство /dev/sdb1 (например жесткий диск) в директорию /home

После того как инструкция для mount прописаны в /etc/fstab, что бы проверить правильность написания дайте команду

Если команда отработает без ошибок, то все устройства прописанные в /etc/fstab будут подключены, а также изменения не потеряются после перезагрузки.

Заключение

Мы рассмотрели наиболее распространенные примеры подключения различных файловых систем к дереву директорий при помощи команды mount и их отключения командой umount. Для получения более подробной информации об опциях команд mount и umount можно обратиться к соответствующим man-страницам.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

9 команд для просмотра информации о разделах и дисках

В данной статье мы рассмотрим несколько команд, которые могут быть использованы для проверки разделов в вашей файловой системе Linux. Команды могут быть использованы для просмотра информации о разделах, свободном и использованном дисковом пространстве на диске, а так же другой полезной информации о разделах.
Кроме того, такие команды как FDISK, SFDISK и CFDISK могут не только отображать информацию о разделах, но и вносить какие-либо изменения.

1. FDISK — является часто используемой командой для проверки разделов на диске. Она может отобразить список разделов, а так же дополнительную информацию.

2. Sfdisk — отображает похожую информацию, так же как и FDISK, однако есть и некоторые особенности, к примеру, отображение размера каждого раздела в мегабайтах.

3. cfdisk — является редактором разделов Linux с интерактивным пользовательским интерфейсом Ncurses. Команда может быть использована для отображения списка существующих разделов, а так же внесения каких либо изменений.

4. parted — ещё одна утилита командной строки, которая умеет отображать список разделов, информацию о них, а так же позволяет вносить изменения в разделы при необходимости.

5. DF — не является утилитой для разметки разделов, скорее больше для просмотра информации. Можно отметить то, что утилита DF способна вывести информацию о файловых системах, которые даже не являются реальными разделами диска.

6. Pydf — является в неком роде улучшением версии DF, которая написана на Python. Способна выводить информацию о всех разделах жесткого диска в удобном виде. Но есть и минусы, показываются только смонтированные файловые системы.

7. lsblk — выводит список всех блоков хранения информации, среди которых могут быть дисковые разделы и оптические приводы. Отображается такая информация как общий размер раздела/блока, точка монтирования (если таковая есть). Если нет точки монтирования, то это может значить что файловая система не смонтирована, для CD/DVD привода дисков это означает, что в лотке нету диска.

8. BLKID — выводит информацию о разделах файловой системы, среди них такие атрибуты как UUID, а так же тип файловой системы. Однако эта утилита не сообщает о дисковом пространстве на разделах.

9. HWiNFO — может быть использована для вывода списка оборудования и разделов для хранения данных. В результате вывода нет подробностей о каждом разделе, к примеру, как у команд, о которых шла речь выше.

Попробуйте воспользоваться командами, о которых мы говорили в этой статье, оставляйте свои отзывы и дополнения к ним в комментариях. Так же рекомендую просмотреть пост, в котором опубликован список команд для просмотра информации о системе.

Источник

Оцените статью