[apple] Lion에서 파일 작성 (st_birthtime) 날짜 / 시간을 변경하는 방법은 무엇입니까? [복제]

touch(1)수정액세스 시간 만 변경할 수 있지만 작성 시간에 대한 옵션은 없습니다 . 이것은 적어도되지 사자에 작동하지 않습니다.

그래서 내가 어떻게 변경합니까 작성 시간이라고도 birthtime 에를 fstat(2)? 해당 전화가 없으며 이에 utimes(2)대한 명령 줄 도구가없는 것 같습니다.

파일을 새 파일로 복사 할 수 있다는 것을 알고 있습니다. 그러면 현재 시간을 출생 시간으로 가져온 다음 원본을 삭제하지만 더 나은 방법이 있어야합니까?



답변

touch -t 또한 대상 수정 시간이 원래 작성 시간 이전 인 경우 작성 시간을 변경합니다.

SetFile은 생성 시간을 수정 시간 이전 또는 이후로 설정할 수 있습니다.

-d date    Sets the creation date, where date is a string of the
           form: "mm/dd/[yy]yy [hh:mm:[:ss] [AM | PM]]" Notes:
           Enclose the string in quotation marks if it contains spa-
           ces. The date must be in the Unix epoch, that is, between
           1/1/1970 and 1/18/2038. If the year is provided as a two-
           digit year, it is assumed to be in the 21st century and
           must be from 00 (2000) through 38 (2038).

생성 시간을 수정 시간으로 설정합니다.

SetFile -d "$(GetFileInfo -m test.txt)" test.txt

SetFile 및 GetFileInfo는 Xcode의 환경 설정 또는 developer.apple.com/downloads 에서 다운로드 할 수있는 명령 행 도구 패키지의 일부입니다 .


답변

시험:

cat filename > newfile
mv filename ~/.Trash/
mv newfile filename 

작동합니다.


답변