Это извлечет все файлы из каталога в tar-файл, не заходя в подкаталоги:
tar --wildcards --no-wildcards-match-slash -xvf file.tar.gz directory_in_tar/*.*
В файловой системе POSIX все существует где-то внутри корня файловой системы, расположенного по адресу /
. В вашем корневом разделе, который вы смонтировали в /
, у вас есть каталог /home
. Этот каталог (предположительно )используется как точка монтирования(i. е. местоположение, в котором находится смонтированная файловая система, такая как раздел )для раздела home
. Файлы, созданные там , создаются в разделе home
, содержимое которого видно в точке монтирования этого раздела.
Несмотря на проблемы, вызванные исчезновением содержимого /home
, если вы:
# umount /home; mount /dev/sda1 /mnt; ls /mnt
Вы увидите содержимое того, что было в /home
, теперь видимое в /mnt
.
На самом деле не делайте этого; это показательный мысленный -эксперимент.
Вы можете увидеть список файловых систем, в которых монтируются точки монтирования, наблюдая за выводом команды mount
без параметров.
Раздел файловой системы (), содержащий ваши собственные файлы, может быть размещен в любом месте дерева файловой системы, которое начинается с /
. Обычно он находится по адресу /home
, и в нем есть каталог, названный вашим именем пользователя. Например, у вас может быть /home/rebecca
.
Системы на базе UNIX -(, включая системы на базе Linux -), используют файловую систему с единым корнем(/
). В системах Windows используется многокорневая файловая система -(C:
, D:
и т. д. ).
Когда вы записываете файл в папку, вам обычно не нужно беспокоиться о том, в какой раздел он будет записан, если на диске достаточно места для хранения содержимого файла.
Если сегодня вы работаете с файловой системой в 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, чтобы все ваши различные диски выглядели вместе как единый связанный файл и дерево каталогов.