리눅스에서 시스템 날짜를 변경하는 방법?
나는 바꾸고 싶다:
- 년만
- 달만
- 날짜 만
- 위의 세 가지 조합
sudo ntpd -gq
ntp 서비스를 사용하여 시스템을 자동으로 업데이트 할 수 있습니다.
리눅스에서 시스템 날짜를 변경하는 방법?
나는 바꾸고 싶다:
sudo ntpd -gq
ntp 서비스를 사용하여 시스템을 자동으로 업데이트 할 수 있습니다.
답변:
사용 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
.
date -s "2014-12-25 $(date +%H:%M:%S)"
그러나 날짜를 변경하고 현재 시간을 재사용하는 데 사용할 수 있습니다 .
date: cannot set date: Invalid argument
date -s 2018-01-01
있습니다. 누군가가 이것을 답변으로 공유했습니다 : superuser.com/questions/870068/…
시스템 시간
date
시스템 날짜를 설정하는 데 사용할 수 있습니다 . date
(비 임베디드 리눅스 기반 시스템에서 볼 수 있는) GNU 구현은 시간을 설정하기 위해 여러 가지 형식을 허용합니다. 여기 몇 가지 예가 있습니다 :
연도 만 설정 :
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 --systohc
또는 하드웨어 시계의 시스템 시간
hwclock --hctosys
date
명령으로 날짜를 변경합니다 . 그러나 명령은 전체 날짜를 인수로 예상합니다.
# date -s "20141022 09:45"
Wed Oct 22 09:45:00 BST 2014
날짜의 일부를 변경하려면 현재 날짜를 문자열로 변경하려는 날짜 부분과 날짜 형식 변수로 다른 모든 날짜를 출력하십시오. 그런 다음 date -s
명령에 전달 하여 설정하십시오.
# date -s "$(date +'%Y12%d %H:%M')"
Mon Dec 22 10:55:03 GMT 2014
월을 12 월-12 월로 변경합니다.
날짜 형식은 다음과 같습니다.
%Y
-년도%m
-달%d
- 일%H
- 시%M
- 분ESXI 5.1을 실행하는 저와 같은 분들을 위해 다음과 같이 시스템이 대답했습니다.
~ # date -s "2016-03-23 09:56:00"
date: invalid date '2016-03-23 09:56:00'
대신 특정 ESX 명령을 사용해야했습니다.
esxcli system time set -y 2016 -M 03 -d 23 -H 10 -m 05 -s 00
시스템 날짜를 변경하는 명령 은 date
입니다.
date 명령 을 호출하는 두 가지 방법이 있습니다 (Linux).
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
제한된 사용자로 인해 날짜가 변경되지 않았습니다 $
. 실제로 날짜를 변경하려면 root ( #
) 또는 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
아래 나열된 date 명령 및 시간 형식을 사용하여 Linux Kernal을 사용하는 Android Things에서 수행되는 터미널 쉘 명령의 날짜를 성공적으로 설정했습니다.
날짜 092615002017.00
MMDDHHMMYYYY.SS
MM-월-09
DD-일-26
HH-시간-15
MM-최소-00
YYYY-년-2017
.SS-초-00
date
에서 작동하지 않기 때문에 이것이 어떤 시스템과 관련이 있으며이 특정 질문과 관련이있는 방법에 대한 추가 정보를 추가 할 수 있습니까?
date --set='-2 years'
를 들어 시계를 2 년 뒤로 설정하여 다른 모든 요소를 동일하게 유지할 수 있습니다 . 월과 일을 같은 방식으로 변경할 수 있습니다. 예를 들어 DST 전환 중에 실제로 존재하지 않는 날짜 시간이 계산 결과로 발생하는 경우 어떻게되는지 확인하지 않았지만 동작은 일반적인 "날짜와 시간을 구체적인 값으로 설정"동작과 동일해야합니다.