CLI: $ date 날짜와 시간 표시

bash

#1

date 명령어로 날짜와 시간을 표시해 보자.

우선, 그대로 date 라고 하면 시스템의 날짜와 시간을 표시된다.

$ date
Wed Sep  5 18:17:28 KST 2018

표시 형식을 지정해보자.

플러스 (+) 뒤에 형식을 지정하여 필요한 정보라든가 좋아하는 형식으로 출력할 수 있다.

시간 필드
%H 시 (00…23)
%I 시 (01…12)
%k 시 (0…23)
%l 시 (1…12)
%M 분 (00…59)
%p AM 또는 PM 로케일
%r 시간, 12 시간 (hh : mm : ss [AP] M)
%s 1970-01-01 00:00:00 UTC로부터의 초 (비표준 확장)
%S 초 (00…60)
%T 시간, 24 시간 (hh : mm : ss)
%X 로케일에서 정의한 시간 표현 (% H : % M : % S)
%Z 시간대 (예 EDT) 또는 시간대를 결정할 수없는 때는 아무 값

날짜 필드

날짜 필드
%a 로케일의 약식 요일 이름 (Sun…Sat)
%A 로케일의 완전한 표기의 요일 이름, 가변 길이 (Sunday…Saturday)
%b 로케일의 약식 월 이름 (Jan…Dec)
%B 로케일의 완전한 표현의 월 이름, 가변 길이 (January…December)
%c 로케일의 날짜와 시간 (Sat Nov 04 12:02:33 EST 1989)
%d 달에서 통산 일수 (01…31)
%D 날짜 (mm / dd / yy)
%h % b와 동일
%j 연내 통산 일수 (001…366)
%m 월 (01…12)
%U 일요일을 주의 첫번째 날로 한 올해 통산 주 (00…53)
%w 주 중 요일 (0…6) (0 일요일)
%W 월요일을 주의 첫번째 날로 한 올해 통산 주 (00…53)
%x 로케일의 날짜 표현식 (mm / dd / yy)
%y 연도의 마지막 두 숫자 (00…99)
%Y 년 (1970 …)

문자 필드

문자 필드
%% 문자 %
%n 개행
%t 수평 탭

예를 들면 이런 느낌

$ date '+%Y/%m/%d (%a) %H:%M'
2018/09/05 (Wed) 18:26

정기적으로 작업을 하는 일 예를들면 파일의 백업을 할 때 사용할 수 있습니다.

$ cp -ip file file.`date +%Y%m%d`
$ ls -al
total 8
drwxrwxr-x 2 mare mare 4096 Sep  5 18:29 .
drwxrwxr-x 7 mare mare 4096 Sep  5 18:29 ..
-rw-rw-r-- 1 mare mare    0 Sep  5 18:29 file

$ cp -ip file file.`date +%Y%m%d`

$ ls -al
total 8
drwxrwxr-x 2 mare mare 4096 Sep  5 18:29 .
drwxrwxr-x 7 mare mare 4096 Sep  5 18:29 ..
-rw-rw-r-- 1 mare mare    0 Sep  5 18:29 file
-rw-rw-r-- 1 mare mare    0 Sep  5 18:29 file.20180905

지역(locale) 을 바꾸어서 영어 표기나 우리말 표기로 바꿀 수도 있습니다.

$ LANG=en_US.UTF-8 date '+%a,%d %b %Y %T'
Wed,05 Sep 2018 18:31:24

덧붙여서, ↑ 이런 식으로 명령 실행시에 동일한 행에서 변수의 설정하는 것으로, 그 명령에 대해서만 유효한 변수를 설정할 수 있습니다. ; (세미콜론)으로 구분 않는 것이 포인트.