NTFS-3G에서 생성 날짜 속성을 수정 날짜 속성으로 재귀적으로 설정하는 방법은 무엇입니까?

NTFS-3G에서 생성 날짜 속성을 수정 날짜 속성으로 재귀적으로 설정하는 방법은 무엇입니까?

내 첫 번째 질문에서 :NTFS 논리 볼륨에서 파일 생성 날짜를 얻는 방법, NTFS-3G에서 "Creation Date" 필드를 가져오는 방법을 물었습니다. 이제 "생성 날짜"를 얻을 수 있다는 것을 알았으므로 NTFS-3G 파티션에 파일을 추가하기 시작했으며 각 파일의 "생성 날짜"를 "수정 날짜" 값으로 설정하려고 합니다.

이 작업은 전체 파일 저장소에서 수행되어야 하므로 개별 디렉터리에 반복적으로 적용하고 싶습니다. 단일 파일에 대해 이 작업을 수행하는 방법을 안다면 아마도 직접 재귀를 수행할 수 있을 것입니다. 그러나 추가하고 싶다면 매우 기쁠 것입니다.

답변1

확장된 속성 system.ntfs_times에는 64비트 정수 btime, mtime, atime 및 ctime으로 구성된 32바이트가 포함됩니다.

예를 들어 다음과 같이 나열할 수 있습니다.

getfattr --only-values -n system.ntfs_times -- "$file" |
  perl -MPOSIX -0777 -ne 'print ctime $_/10000000-11644473600 for unpack("Q4",$_)'

따라서 다음과 같이 두 번째 정수를 첫 번째 정수에 복사할 수 있습니다.

getfattr -n system.ntfs_times -e hex -- "$file" |
  sed '2s/0x.\{16\}\(.\{16\}\)/0x\1\1/' |
  setfattr --restore=-

관련 정보