Скажем, если я хочу скопировать / etc / bin в папку с сохранением атрибутов файлов, а также родительских каталогов . [Целевая папка должна содержать не только папку bin, но и /etc/bin. identify
Возможно ли это сделать? Работает ли архивирование и разархивирование с использованием tar?
man tar:
-P, --absolute-names Не убирайте ведущие косые черты из имен файлов при создании ar‐ Зеленый лук. -p, --preserve-permissions, --same-permissions Извлечение сведений о разрешениях на доступ к файлам (по умолчанию для supe‐ русер) --xattrs Включите поддержку расширенных атрибутов.
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 может сохранить право собственности.