단순한

단순한

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

관련 정보