대상 파일에 xattrs를 유지하면서 PC에서 Mac으로 파일을 복사하는 방법은 무엇입니까?

대상 파일에 xattrs를 유지하면서 PC에서 Mac으로 파일을 복사하는 방법은 무엇입니까?

Mac(OS X ML 10.8.4)에는 M 파일이 있고 PC(Win7)에는 P 파일이 있습니다. 파일 P는 원래 파일 M의 복사본이었지만 지금은 약간 업데이트되었습니다. 파일 M에는 몇 가지 확장된 속성이 있습니다.

파일 M의 확장 속성을 유지하면서 파일 P를 파일 M으로 복사하려면 어떻게 해야 합니까?

일반적으로 네트워크 공유를 통해 P를 M에 복사하여 붙여넣으면 M의 확장 속성이 손실됩니다.

저는 쉽게 구현 가능하고 확장 가능한 방법을 찾고 있습니다. cat P > M실제로는 옵션이 아닙니다(작동하는지 확실하지 않음). 여기에 도움이 될까요 rsync?

답변1

아직 ._ 파일이 있으면 dot_clean으로 병합할 수 있습니다.

$ ls -A
._test.txt test.txt
$ xattr -l test.txt
$ dot_clean .
$ ls -A
test.txt
$ xattr -l test.txt
com.apple.TextEncoding: utf-8;134217984

xattr -wx 및 -px를 사용하여 속성을 복사할 수 있습니다.

xattr -wx attributename "$(xattr -px attributename source.txt)" target.txt

xattr은 인수가 단일 파일인 경우에만 속성 이름을 인쇄합니다.

for f; do
  for a in $(xattr "$f"); do
    xattr -wx $a "$(xattr -px $a ~/Documents/Original/"$f")" "$f"
  done
done

관련 정보