Каталог /home в корневом разделе сопоставлен с разделом /home [закрыто]

Это извлечет все файлы из каталога в tar-файл, не заходя в подкаталоги:

tar --wildcards --no-wildcards-match-slash -xvf file.tar.gz directory_in_tar/*.*
1
30.05.2019, 18:46
3 ответа

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

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

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

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

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

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

2
27.01.2020, 23:14

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

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

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

1
27.01.2020, 23:14

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

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

Вы начинаете с /. Корень всего. В вашем случае это раздел /dev/sda2. С /homeна /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, чтобы все ваши различные диски выглядели вместе как единый связанный файл и дерево каталогов.

3
27.01.2020, 23:14

Теги

Похожие вопросы