Сопоставлен ли каталог /home в корневом разделе с разделом /home

Сопоставлен ли каталог /home в корневом разделе с разделом /home

Мой /homeраздел находится на /dev/sda1. Мой /раздел находится на /dev/sda2.

Всякий раз, когда я создаю файл в /homeразделе, он отображается в /разделе под /homeкаталогом.

Эквивалентом в Windows является создание файла на диске D, и этот файл также будет виден на диске C.

Как это возможно ?

решение1

Если ваш сегодняшний опыт работы с файловой системой основан на Windows или системах с одним диском/разделом, то вы, возможно, не привыкли к концепции точек монтирования. (Хотя Windows теперь также поддерживает монтирование дисков по пути монтирования, там это не так распространено, как в Linux/Unix)

Ваша файловая система в Linux/Unix представляет собой вложенную иерархию файлов. (папки тоже являются файлами..)

Вы начинаете с /. Корень всего. В вашем случае это on partition /dev/sda2. С /homeon /dev/sda1вы заканчиваете с

  • /
    • dev/
      • pts/
      • (вещи)
    • sys/
    • home/
      • rebecca/
        • txtfile.txt
      • bob/

и т.д. (есть гораздо больше каталогов, это просто пример)

Итак, путь от /-> /home/rebecca/textfile.txtдолжен быть максимально прозрачным. Так что, хотя кажется, что он textfile.txtнаходится в /разделе, на самом деле это не так. Он находится в /home/разделе. Просточтораздел находится mountedв /каталоге как /home.

Попробуйте эти три команды:

  • df /
  • df /home/
  • df /home/rebecca/textfile.txt <-- используйте реальный путь к файлу

Команда dfпокажет вам все ваши файловые системы, реальные и виртуальные, которые смонтированы в вашей системе на момент запуска команды. Использование, dfкак у меня в примерах выше, служит для фильтрации вывода, чтобы вы могли проверять меньше вещей за раз.


TL;DR- именно так работают точки монтирования Unix и Linux, чтобы все ваши диски отображались вместе как единое связное дерево файлов и каталогов.

решение2

В файловой системе POSIXвсесуществует где-то внутри корня файловой системы, расположенной в /. На вашем корневом разделе, который вы смонтировали в /, у вас есть каталог, /home. Этот каталог (предположительно) используется какТочка монтирования(т.е. место, в котором находится смонтированная файловая система, например раздел) для homeраздела. Файлы, созданные тамявляютсясоздается в homeразделе, содержимое которого видно в точке монтирования этого раздела.

Несмотря на проблемы, вызванные исчезновением содержимого /home, если бы вы:

# umount /home; mount /dev/sda1 /mnt; ls /mnt

Вы бы увидели содержимое того, чтоимелбыл в /home, теперь виден в /mnt.

Не делайте этого на самом деле; это демонстративный мысленный эксперимент.

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

решение3

Файловая система (раздел), содержащая ваши собственные файлы, может быть размещена в любом месте дерева файловой системы, которое начинается с /. Обычно она размещается в /home, и в ней есть каталог, который называется вашим именем пользователя. Например, у вас может быть /home/rebecca.

Системы на базе UNIX (включая Linux) используют однокорневую файловую систему ( /). Системы Windows используют многокорневую файловую систему ( C:, D:, и т. д.).

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

Связанный контент