Chcę skopiować atrybuty (własność, grupa, ACL, atrybuty rozszerzone itp.) Z jednego katalogu do drugiego, ale nie samą zawartość katalogu.
To nie działa:
cp -v --attributes-only A B
cp: omitting directory `A'
Uwaga: nie musi tak być cp
.
filesystems
backup
file-copy
xattr
Grzegorz Wierzowiecki
źródło
źródło
-r
, więc ignorujesz katalogi. Ale myślę, że chcesz skopiować tylko atrybuty, a nie zawartość? Mogę myśleć tylko o brzydkich hackach. Zauważ też, żeinstall
może zachować konteksty SELinuksa.Odpowiedzi:
Po kilku próbach i błędach w linii poleceń wydaje mi się, że znalazłem odpowiedź. Ale to nie jest
cp
odpowiedź związana.rsync -ptgo -A -X -d --no-recursive --exclude=* first-dir/ second-dir
To robi:
Na przykład
źródło
USAGE
sekcji strony podręcznikarsync(1)
.rsync -a -AX --include='*/' --exclude='*'
. Nie testowałemźródło
--no-recursive
. Problem z tą odpowiedzią polega na tym, że nie wykonuje ona list ACL ani XATTR.-r
- rekurencyjny-f
- siła-p
- zachowaj atrybuty: tryb, własność, znaczniki czasuźródło
Nie rozumiem, ponieważ wydaje się, że działa dla innych, ale metoda rsync zawodzi dla mnie na FreeBSD z ZFS. Nic się nie dzieje. Jednak metoda Jean-François Dockesa działa. (patrz: https://www.lesbonscomptes.com/pxattr/ ) Katalog źródłowy = A i katalog docelowy = B, z pierwotnego pytania.
(edytuj pierwszy wiersz tmp.EAs, aby zmienić katalog A na B, s / A / B /)
źródło
pyxattr
i ja też tego spróbowałem. To był rodzaj twardego orzecha do zgryzienia. Podobno działa na to gnu cp, ale nie mogę tego zrobić. Rozszerzone atrybuty zasługują na coś lepszego. Ponadto pxattr działa przynajmniej pod Linuksem, OSX i BSD.gdzie dst_dir - jest katalogiem docelowym. Lub:
gdzie dst_dir - to katalog zawierający katalog docelowy lub nieistniejący katalog docelowy.
Ze strony man rsync:
źródło
Potrzebujesz „-r” do skopiowania katalogu.
źródło
-r
oznacza kopiowanie wszystkich podkatalogów i plików w nich ... Nie chcę kopiować całego drzewa ... Chcę kopiować atrybuty tylko dla jednego i tylko jednego katalogu - bez wpływu na jego zawartość.