Linux에서 파일을 복사할 때 Windows 파일 속성을 유지하는 방법은 무엇입니까?

Linux에서 파일을 복사할 때 Windows 파일 속성을 유지하는 방법은 무엇입니까?

저는 Linux 시스템에서 실행되는 사용자 정의 Bash 스크립트를 사용하여 FAT32 형식의 USB 드라이브를 일괄 복사하고 있습니다.

"숨김"과 같은 Windows 파일 속성을 유지해야 합니다.

나는 사용합니다 rsync(또는 최신 버전에서는 dd더 나은 안정성과 최적의 대역폭 사용을 위해 I/O 동기화를 사용하고 강제합니다).findmkdir

나는 맹목적으로 시도 -X하고 일부 파일 속성을 유지하는 것으로 -A전환했지만 rsyncWindows 파일 속성에서는 작동하지 않는 것 같습니다.

Linux 환경에서 Windows 파일 속성을 읽고 쓸 수 있는 방법이 있습니까?

더 쉬운 방법이 없으면 복사한 후 적용하면 됩니다.

dd특히 수백 개의 드라이브에 써야 할 때 전체 소스 파일 시스템이 심각하게 최적화되지 않은 것을 원하지 않습니다 . 때때로 드라이브의 용량은 16GB이지만 파일 용량은 몇 GB에 불과합니다. 바보는 dd16GB를 모두 복사하므로 프로덕션에서 작업하는 데 오랜 시간이 걸립니다.

온라인으로 검색해 봤지만 Linux 확장 속성은 Windows 파일 속성과 아무 관련이 없는 것 같고, 이 정보를 읽고 쓰는(또는 파일과 함께 복사하는) 방법을 찾지 못했습니다.

답변1

이 문제를 처리하는 여러 가지 방법을 생각할 수 있습니다.

첫 번째는 사용하는 것입니다.도구파일을 복사합니다. 이를 위해서는 당신이 필요합니다"드라이브"를 정의하세요(A: 소스 드라이브용, B: 대상 드라이브용) 다음을 사용하여 속성과 타임스탬프를 유지하면서 모든 것을 복사할 수 있어야 합니다.

mcopy -s -p -m a: b:

(검증되지 않은).

fatattr두 번째는 속성을 사후 처리하기 위해 (대부분의 배포판에서 사용 가능)을 사용하는 것입니다. 이는 마운트된 파일 시스템을 처리하므로 파일 시스템을 현재 그대로 복사할 수 있으며 모든 소스 파일에 대한 모든 FAT 속성을 나열하고 이를 구문 분석하여 속성이 대상 파일에 적절하게 설정되어야 함 fatattr을 나타냅니다 .fatattr

관련 정보