На этот вопрос уже есть ответ здесь:
Что такое «монтирование»? У меня интуиция есть ощущение, что это означает «сделать хранилище данных доступным», но что это на самом деле означает? Пожалуйста, укажите случаи, когда «диск доступен» и «диск смонтирован» разные ».
Ну, давайте возвратимся к основам:
, Когда Вы включаете запоминающее устройство, такое как флеш-накопитель, ядро Linux создает специальный файл для него в/dev каталоге. Все Ваши устройства представлены одним из тех файлов.
, Когда это устройство не смонтировано, Вы не можете получать доступ/читать/писать от него. Это точно так же, как "резервный" режим это готово использоваться, но еще не используемый.
при монтировании устройства, необходимо определить точку монтирования. Это - очень запутывающее понятие для пользователей, происходящих из Windows. В Windows каждое запоминающее устройство имеет свой собственный корень. В Linux они всегда монтируются в одном единственном корне.
Монтирование запоминающего устройства в основном "включает его" от "резервного" режима. Это доступно через указанную точку монтирования.
/mnt каталог существует так, можно смонтировать вещи в нем. В некоторых дистрибутивах (как Ubuntu) существует также / каталог медиа для той же цели.
Когда Вы 'монтируете' что-то, в чем Вы помещаете доступ к файловой системе, содержавшей на Вашу корневую структуру файловой системы. Эффективно давая файлам местоположение. Это подобно C:/D: управляйте маркировками в окнах.
Монтирование/dev/sdb1 к/mnt/disk1 помещает все файлы и папки, содержавшие в устройстве standard disk B partition 1
в каталог /mnt/disk1
, где можно получить доступ к ним.
современные системы имеют способы автосмонтировать диски так же, как окна автомонтируют диски к буквам дисков, но система монтирования местоположения в Unix намного более гибка. И размонтирование является, очевидно, удалением доступа к тем файлам/папкам от того местоположения. Можно узнать, какие файловые системы смонтированы путем выполнения команды:
mount
Включенные части: монтируются, umount, fstab (для фиксированного монтирования), udev, gvfs (для автоматического монтирования)
Для простоты я ограничу этот ответ на обычные устройства хранения как диски и флеш-накопители.
Когда Вы включаете свое устройство, его драйвер делает его доступным как узел устройства, чтобы пользователю программы похожи на файл: например. /dev/sda
. Теперь диск уже доступен. Можно считать и записать это. Вот пример того, как Вы могли посмотреть на его MBR (первые 512 байтов) в форме hexadecimal+ASCII:
sudo head -c 512 /dev/sda | xxd -g1
Но если у Вас есть некоторые файлы на том устройстве, и Вы хотите получить доступ к ним, этот взгляд низкого уровня не является довольно удовлетворительным. Вы хотите включить драйвер файловой системы. Для этого Вы монтируете устройство, с помощью mount
утилита. Для создания этого более очевидным я укажу файловую систему явно в следующей команде (предполагающий, что я сделал верный выбор ext4
; в противном случае mount
скажет Вам):
sudo mount /dev/sda1 /mnt/ -t ext4
После этого Ваше устройство будет выставлено в /mnt/
в формате пользовательские программы ожидают это: файлы и каталоги — вместо просто секторов.
Можно задаться вопросом, почему я использовал sda1
вместо sda
в команде выше. Это - потому что между уровнем файловой системы и простым уровнем секторов там небольшой слой разделения, и здесь sda1
обозначает первый раздел на устройстве sda
.
Насколько знакомый Вы с Windows (или — тьфу! — DOS)? Если Вы добрались вне абсолютного состояния новичка или на них, Вы знаете, что Ваше внешнее устройство хранения основной системы (жесткий диск или SSD) называют C:
. (Для простоты я предположу, что компьютер имеет только одно внешнее устройство хранения, и что это имеет только один раздел.) Корневой каталог C:\
, и это содержит другие каталоги как C:\Intel
, C:\Program Files
, C:\Users
, и C:\Windows
. Они могут содержать еще один слой каталогов; например, C:\Program Files\Oracle
, C:\Users\your_name
, и так далее.
D:
. И это также имеет корневой каталог, D:\
, и обычно зависимые каталоги как D:\Install
.A:
(и в действительно былые времена у Вас мог быть второй, который, естественно, назвали B:
). И тот же шаблон применяется: корневой каталог A:\
мог содержать папки как A:\GAMES
и A:\WORK
.D
(возможно, F
), и корневой каталог F:\
мог содержать папки как F:\Project1
.Z
), и корневой каталог Z:\
мог содержать папки как Z:\Project2
.Таким образом, расположение каталога Вашего целого компьютера выглядело примерно так:
A:\ C:\ D:\ F:\ Z:\
⋰ ⋱ ⋰ ⋰ ⋱ ⋱ ⋰ ⋰ ⋰
⋰ ⋱ ⋰ ⋰ ⋱ ⋱ ⋰ ⋰ ⋰
⋰ ⋱ ⋰ ⋰ ⋱ ⋱ ⋰ ⋰ ⋰
GAMES WORK Intel Program Files Users Windows Install Project1 Project2
⋰ ⋰
⋰ ⋰
⋰ ⋰
Oracle user480468
Таким образом, у Вас могли быть, в принципе, до 26 независимых деревьев каталогов файловой системы, каждый с ее собственным корневым каталогом. И я предполагаю, что работы достаточно хорошо, особенно теперь, когда Windows связывает их всех вместе в Computer
(ранее известный как My Computer
) суперпапка. (Но с другой стороны, посмотрите на то, как трудно это должно установить программы на диске кроме C:
, или перемещать Ваш пользовательский каталог прочь C:
.) И примечание это Computer
псевдопапка — Вы не можете создать файлы или каталоги в Computer
.
Unix имеет философию, которая включает понятие, Делают Одну Вещь и Делают Это Хорошо. (Даже имя “Unix” получено из префикса “ООН -” или “uni -”, означая “один”.) , Таким образом, не удивительно, что разработчики Unix приняли решение иметь единственное дерево каталогов файловой системы; Вы, вероятно, знакомы с ним:
/
⋰ ⋰ ⋰ ⋮ ⋱ ⋱ ⋱
⋰ ⋰ ⋰ ⋮ ⋱ ⋱ ⋱
⋰ ⋰ ⋰ ⋮ ⋱ ⋱ ⋱
⋰ ⋰ ⋰ ⋮ ⋱ ⋱ ⋱
⋰ ⋰ ⋰ ⋮ ⋱ ⋱ ⋱
⋰ ⋰ ⋰ ⋮ ⋱ ⋱ ⋱
bin dev etc home mnt tmp usr …
⋰ ⋰⋱
⋰ ⋰ ⋱
⋰ ⋰ ⋱
user48046 bin lib
Красота этого состоит в том, что (в Вашей роли системного администратора) можно поместить все в один раздел или поместить /home
в одном разделе и /usr
в другом, и (в Вашей роли пользователя) можно забыть об этом. Вы не должны знать что диск (раздел) /usr
идет; это появляется под one-only корнем файловой системы (/
) независимо. Умеренный недостаток состоит в том, что (в Вашей роли продвинутого пользователя) необходимо поддержать это объединенное дерево каталогов файловой системы, когда Вы добавляете (и удалите), компоненты устройства хранения данных. При вставке CD или флеш-накопителя это - просто запись под /dev
, с которым Вы, вероятно, не должны смешивать слишком много. Можно сделать некоторые вещи с узлом устройства, как выполнение fsck
или fdisk
; или возможно настройте его как выделенное устройство хранения базы данных (например, для Oracle) — потому что диск доступен. Но Вы не можете получить доступ к файлам (и каталоги) на нем, потому что они еще не находятся в файловой системе — потому что диск не смонтирован.
И это то, где mount
входит. mount
команда, которая присоединяет файловую систему (например, на съемном устройстве) к файловой системе (тот, запускающийся в /
). 1 Вы заметите, что существует a /mnt
каталог под /
каталог. Традиционно, переходные (съемные) устройства хранения файловой системы смонтированы на каталоги под /mnt
; т.е. они присоединены к файловой системе там. И в некоторых системах, автоматически смонтированы некоторые устройства, когда они обнаруживаются. Но в теории можно смонтировать файловую систему где угодно в файловой системе.
___________
1 Крохоборство, mount
программа, которая звонит mount()
системный вызов, который присоединяет файловую систему к файловой системе.