Linux 시스템 날짜를 변경하는 방법은 무엇입니까?
나는 바꾸고 싶다:
- 딱 1년
- 딱 한 달만
- 날짜만
- 위의 세 가지를 조합해 보세요.
답변1
사용date -s
:
date -s '2014-12-25 12:34:56'
연/월/일 중 하나만 루트 또는 로 변경하는 것은 sudo
더 어렵고 현재 날짜의 비트를 반복해야 합니다. 또한 일반적으로 시계를 통해 액세스하는 주요 데스크탑 환경에 내장된 GUI 날짜 도구도 있습니다.
시간의 일부만 변경하려면 날짜 문자열에 명령 대체를 사용할 수 있습니다.
date -s "2014-12-25 $(date +%H:%M:%S)"
날짜는 변경되지만 시간은 유지됩니다. 바라보다man date
다른 조합을 구성하기 위해 세부정보 형식을 지정하는 데 사용됩니다. 개별 구성요소는 %Y
, %m
, %d
, %H
및 %M
입니다 %S
.
답변2
시스템 시간
이를 사용하여 date
시스템 날짜를 설정할 수 있습니다. GNU 구현 date
(내장되지 않은 대부분의 Linux 시스템에서 발견됨)은 시간 설정을 위해 다양한 형식을 허용합니다. 다음은 몇 가지 예입니다.
연도만 설정:
date -s 'next year'
date -s 'last year'
월을 설정하세요.
date -s 'last month'
date -s 'next month'
날짜를 설정하세요.
date -s 'next day'
date -s 'tomorrow'
date -s 'last day'
date -s 'yesterday'
date -s 'friday'
모든 것을 종합하면:
date -s '2009-02-13 11:31:30' #that's a magical timestamp
하드웨어 시간
이제 시스템 시간이 설정되었지만 하드웨어 시계와 동기화할 수 있습니다.
--show
하드웨어 시간 인쇄 의 경우 :
hwclock --show
하드웨어 시계를 현재 시스템 시간으로 설정할 수 있습니다.
hwclock --hctosys
또는 하드웨어 시계에 대한 시스템 시간
hwclock --systohc
답변3
명령하다시스템 날짜 변경예 date
.
이를 수행하는 방법에는 두 가지가 있습니다.통화 날짜 명령(리눅스에서):
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
단순한
가장 간단한 방법은 사용하는 date -s
것 입니다.단순한 비교적날짜
$ date -s yesterday; date
date: cannot set date: Operation not permitted
Sat Jan 5 07:21:07 EST 2019
Sun Jan 6 07:21:07 EST 2019
제한된 사용자에 의해 수행되므로 날짜가 변경되지 않습니다 $
. 날짜를 정말로 변경하려면 루트( #
) 또는 sudo를 사용하십시오.
$ sudo date -s yesterday; date
Sat Jan 5 07:21:07 EST 2019
Sat Jan 5 07:21:07 EST 2019
그러므로 어떤 부분을 바꾸거나비교적날짜는 이름을 지정하는 것만큼 간단합니다.
$ date -s "5 years ago"
Mon Jan 6 08:26:26 EST 2014
$ date -s "+6 months"
Sat Jul 6 08:28:39 EDT 2019
$ date -s "+3 hours -13 minutes"
Sun Jan 6 11:16:59 AST 2019
절대 날짜는 더 많은 세부 정보가 필요하므로 조금 더 복잡합니다.
$ date -s "2001-07-23 10:11:12"
또는 date 명령을 두 번 사용할 수 있습니다.
$ date -s "$(date +'%Y-%m-%d %H:%M:%S')"
이들 중 하나를 %
유효한 값으로 바꾸면 날짜가 설정됩니다(루트로만).
$ date -s "$(date +'%Y-11-%d %H:%M:%S')"
Wed Nov 6 08:37:15 EST 2019
직접
에 대한 두 번째 약속 전화 양식곧장시스템 날짜를 변경하세요.
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
그래서:
date 11230812 # MMDDhhmm
날짜를 11월 23일 08:12로 설정하세요.
BSD에도 비슷한 명령이 있습니다그러나 형식은 다릅니다([[[[[cc]yy]mm]dd]HH]MM[.ss]).
제한된 사용자로 시도하여 date
어떤 작업을 수행하는지 확인하세요(변경하지 않고).
$ date 11230812
date: cannot set date: Operation not permitted
Sat Nov 23 08:12:00 EST 2019
또는 정말로 날짜를 변경하려면 루트로 다음을 수행하십시오.
# date 11230812
# date
Sat Nov 23 08:12:00 EST 2019
NTP 또는 chrony와 같은 서비스가 영향을 받게 됩니다. 그리고 다시 시작하면 날짜가 실제 날짜로 재설정됩니다.
연도를 설정하려면 YY를 추가하세요.
$ date 1123081222
date: cannot set date: Operation not permitted
Wed Nov 23 08:12:00 EST 2022
또는 연도를 설정하려면 CCYY를 사용하세요.그리고세기:
$ date 112308121982
date: cannot set date: Operation not permitted
Tue Nov 23 08:12:00 EST 1982
답변4
2022년 12월 기준:
당신은 할 수NTP 동기화 비활성화앞으로실제 날짜 변경:
sudo timedatectl set-ntp 0
sudo timedatectl set-time "2022-12-03 $(date +%H:%M:%S)"
더 이상 날짜를 수정할 필요가 없으면 NTP 동기화를 다시 활성화하여 시스템 날짜를 자동으로 업데이트해야 합니다.
sudo timedatectl set-ntp 1