SW/리눅스

Linux : Date 명령어, 사용 방법, 예제

얇은생각 2021. 9. 18. 07:30
반응형

date 명령은 시스템 날짜를 표시하거나 설정합니다. 날짜 및 시간을 다른 형식으로 인쇄하고 미래 및 과거 날짜를 계산하는 데 가장 일반적으로 사용됩니다.

 

 

Linux : Date 명령어, 사용 방법, 예제

 

 

리눅스 날짜 명령을 사용

date 명령의 구문은 다음과 같습니다.

date [OPTION]... [+FORMAT]

 

 

날짜 [OPTION]...을(를) [+FORMAT]을(를) 선택합니다.

기본 형식을 사용하여 현재 시스템 시간 및 날짜를 표시하려면 옵션과 인수 없이 명령을 호출합니다.

date

# Sat Jun  1 14:31:01 CEST 2019

 

 

출력에는 요일, 월, 일, 시간, 시간대 및 연도가 포함됩니다.

 

 

 

날짜 형식 지정 옵션

날짜 명령의 출력은 + 기호 앞에 일련의 형식 제어 문자로 형식을 지정할 수 있습니다. 형식 컨트롤은 % 기호로 시작하고 값으로 대체됩니다. 

date +"Year: %Y, Month: %m, Day: %d"

 

 

%Y 문자는 연도로, %m은 월로, %d은(는) 요일로 바뀝니다.

# Year: 2019, Month: 06, Day: 02

# date "+DATE: %D%nTIME: %T"

# DATE: 06/02/19
# TIME: 01:47:04

 

 

다음은 가장 일반적인 형식 지정 문자의 작은 목록입니다.

%a - 로케일의 약식 평일 이름입니다(예: 월요일).

%A - 로케일의 약식 전체 평일 이름입니다(예: 월요일).

%b - 로케일의 약식 월 이름입니다(예: 1월).

%B - 로케일의 약어 긴 월 이름입니다(예: 1월).

%d - 요일(예: 01)입니다.

%H - 시간(00..)입니다.23)

%I - 시간(01..12)입니다.

%j - 요일(001..)입니다.366)

%m - 월(01..12)입니다.

%M - 분(00..59)입니다.

%S - 초(00..60)입니다.

%u - 요일(1..7)입니다.

%Y - 전체 연도(예: 2019년)입니다.

 

모든 포맷 옵션의 전체 목록을 보려면 터미널에서 실행 날짜 --help 또는 medate를 실행합니다.

 

 

 

날짜 문자열

-d 옵션을 사용하면 특정 날짜에 작업할 수 있습니다. 다음과 같이 날짜를 사람이 읽을 수 있는 날짜 문자열로 지정할 수 있습니다.

date -d "2010-02-07 12:10:53"

# Sun Feb  7 12:10:53 CET 2010

 

 

사용자 정의 형식을 사용합니다.

date -d '16 Dec 1974' +'%A, %d %B %Y'

# Monday, 16 December 1974

 

 

날짜 문자열에는 "tomorrow", "friday", "last friday", "next friday", "next month", "next week" 등과 같은 값이 허용됩니다.

date -d "last week"

# Sat May 25 14:31:42 CEST 2019

 

 

날짜 문자열 옵션을 사용하여 다양한 표준 시간대의 로컬 시간을 표시할 수도 있습니다. 예를 들어 6:30의 로컬 시간을 표시합니다. 다음 주 월요일 오전 호주 동부 해안에서 다음을 입력합니다.

date -d 'TZ="Australia/Sydney" 06:30 next Monday'

# Sun Jun  2 22:30:00 CEST 2019

 

 

 

표준 시간대를 재정의

date 명령은 날짜를 기본 시스템 표준 시간대로 반환합니다. 다른 표준 시간대를 사용하려면 환경 변수 TZ를 원하는 표준 시간대로 설정하십시오.

예를 들어, Aus time인 멜버른을 표시하려면 다음을 입력합니다.

TZ='Australia/Melbourne' date

# Sat Jun  1 22:35:10 AEST 2019

 

 

사용 가능한 모든 표준 시간대를 나열하려면 /usr/share/zoneinfo 디렉토리에 파일을 나열하거나 timedatel list-timezones 명령을 사용할 수 있습니다.

 

 

 

에포크 컨버터 

날짜 명령은 Epoch 변환기로 사용할 수 있습니다. Epoch 또는 Unix 타임스탬프는 1970년 1월 1일 00:00 UTC 이후 경과된 시간(초)입니다.

Epoch에서 현재 날짜까지의 초 수를 인쇄하려면 %s 형식 컨트롤을 사용하여 날짜를 호출하십시오.

date +%s

# 1559393792

 

 

에포크 이후 초를 날짜로 변환하려면 초를 @:로 앞에 오는 날짜 문자열로 설정합니다.

date -d @1234567890

# Sat Feb 14 00:31:30 CET 2009

 

 

 

날짜를 다른 명령과 함께 사용

date 명령은 현재 시간 및 날짜를 포함하는 파일 이름을 만드는 데 가장 자주 사용됩니다.

아래 명령은 database_name-20190601.sql 형식으로 Mysql 백업 파일을 생성합니다.

mysqldump  database_name > database_name-$(date +%Y%m%d).sql

 

 

셸 스크립트에서 날짜 명령을 사용할 수도 있습니다. 아래 예에서는 날짜의 출력을 date_now 변수에 할당합니다.

date_now=$(date "+%F-%H-%M-%S")

echo $date_now

# 2019-06-01-15-02-27

 

 

 

파일의 마지막 수정 시간을 표시

-r 옵션이 있는 날짜 명령은 파일의 마지막 수정 시간을 표시합니다. 예를 들어 다음과 같습니다.

date -r /etc/hosts

# Tue Jul 24 11:11:48 CEST 2018

 

 

파일 타임스탬프를 수정하려면 touch 명령을 사용합니다.

 

 

 

시스템 시간 및 날짜를 설정

대부분의 Linux 배포에서는 ntp 또는 system d-time syncd 서비스를 사용하여 시스템 시계를 동기화하므로 date 명령을 사용하여 시스템 시간 및 날짜를 수동으로 설정하지 않는 것이 좋습니다. 

그러나 시스템 시계를 수동으로 설정하려면 --set= 옵션을 사용할 수 있습니다. 예를 들어 날짜와 시간을 2019년 6월 1일 오후 5시 30분으로 설정하려면 다음을 입력합니다.

date --set="20190601 17:30"

 

반응형