난 어떻게 하는지 알아얻다파일 수정 시간(에포크 형식):
stat --format=%Y <file>
하지만 난 방법을 몰랐어놓다파일 수정 시간(에포크 형식)입니다. touch(1) 매뉴얼 페이지는 "타임스탬프" 값(월, 일, 시간, 분 등을 사용하는 다소 고정된 형식) 또는 "대부분 사람이 읽을 수 있는 자유 형식 날짜 문자열"만 허용하는 것으로 보입니다.
조사해야 할 다른 유틸리티가 있습니까?
감사해요.
답변1
적어도 GNU 세계에서는:
touch --date=@1403970787 file
와 마찬가지로 date
.
답변2
touch
GNU coreutils(즉, 내장되지 않은 Linux 및 Cygwin)의 명령을 사용하면 다음을 참조하세요.완전한 매뉴얼(보통 정보 형식으로 현지에서 제공됨)날짜 입력 형식.신기원 날짜접두어로 표시 @
:
touch -d @1234567890 foo
이는 BusyBox에서도 작동합니다(적어도 일부 시스템에서는 컴파일 옵션에 따라 달라질 수 있음).
*BSD의 경우 혼자서는 할 수 없을 것 같지만 , 에포크 시간을 허용 가능한 형식으로 포맷하도록 touch
호출할 수 있습니다 .date
touch
touch -d "$(date -r 1234567890 +%Y%m%d%H%M.%S)" foo
POSIX는 시대 날짜를 조작하는 방법이 부족하기로 악명이 높습니다. 당신은 할 수펄을 사용하여.
답변3
그리고 perl
:
$ perl -e 'utime (stat($_))[8], time(), $_ for @ARGV' file1 file2 ...
그러면 모든 파일의 mtime이 변경됩니다 @ARGV
. (stat($_))[8]
파일의 시간입니다.
utime
파일 목록을 받을 수 있습니다. 시간 변경에 관심이 없다면 다음을 시도해보세요.
$ perl -e '$t = time(); utime $t, $t, @ARGV' file1 file2 ...
노트
utime
C 런타임 라이브러리와 사용 중인 파일 시스템에 따라 다릅니다. perldoc -f utime
및 에서 자세한 내용을 확인하세요 perldoc perlport
.