타임스탬프를 수정하지 않고 디렉터리 이동

타임스탬프를 수정하지 않고 디렉터리 이동

디렉터리를 한 위치에서 다른 위치로 이동하고 싶지만 이렇게 하면 타임스탬프가 변경되는 것을 볼 수 있습니다. 원래 타임스탬프를 보존할 수 있는 방법이 있나요?

매뉴얼 페이지를 살펴봤지만 mv기존 옵션을 찾을 수 없습니다.

답변1

cp다음을 사용하면 mv작동하지 않습니다.

cp -r -p /path/to/sourceDirectory /path/to/destination/

남자 cp에서 :

-p
    same as --preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST]
    preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all

복사가 완료되면 삭제하세요. 소스 디렉토리.

답변2

Linux에서는 다음과 같이 작동합니다.

timestamp=$(stat -c %y foldername)
mv foldername new_foldername
touch -d "$timestamp" new_foldername

stat -c %y명령은 사람이 읽을 수 있는 형식으로 폴더의 수정 날짜를 반환합니다. 이 값은 유지되며 touch -d "$timestamp"새 폴더의 시간을 설정하는 명령과 함께 사용됩니다.

관련 정보