Копирование файлов с сохранением атрибутов файлов

Скажем, если я хочу скопировать / etc / bin в папку с сохранением атрибутов файлов, а также родительских каталогов . [Целевая папка должна содержать не только папку bin, но и /etc/bin. identify

Возможно ли это сделать? Работает ли архивирование и разархивирование с использованием tar?

-1
23.11.2016, 04:38
2 ответа

man tar:

 -P, --absolute-names
 Не убирайте ведущие косые черты из имен файлов при создании ar‐
 Зеленый лук.

-p, --preserve-permissions, --same-permissions
 Извлечение сведений о разрешениях на доступ к файлам (по умолчанию для supe‐
 русер)

--xattrs
 Включите поддержку расширенных атрибутов.
0
28.01.2020, 05:13
mkdir target/etc
cp -Rp /etc/bin target/etc/

или (только GNU)

mkdir target/etc
cp -a /etc/bin target/etc/

или

mkdir target/etc
rsync -aAX /etc/bin target/etc/

или (классический unix)

find /etc/bin | cpio -pm target

или (классический unix, другой)

( cd / && tar -tf - etc/bin ) | (cd target && tar -xf - )

или (замена POSIX, о которой, похоже, мало кто слышал)

mkdir target/etc
pax -rw -pe etc/bin target/etc/

Все они сохраняют традиционные метаданные Unix (разрешения, временные метки¹, владение, если запущено от имени root². В зависимости от вашей системы, они могут сохранять или не сохранять дополнительные метаданные, такие как ACL и расширенные атрибуты (для некоторых из них могут потребоваться дополнительные параметры, например - acls --xattrs с GNU tar).

¹ За исключением ctime, который нельзя скопировать, и для каталога atimes для некоторых методов. ² Только root может сохранить право собственности.

1
28.01.2020, 05:13

Теги

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