Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

소개

date - 시스템 날짜와 시간을 얻어오거나 설정한다.

사용방법

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

설명

현재 시간을 일정한 형식에 맞게 표준출력(:12)한다. 혹은 시스템의 time(시간)을 변경하기 위해서 사용할 수 있다. 시스템 시간을 변경하기 위해서는 관리자권한을 가지고 있어야 한다. -d, --date=STRING STRING에 맞게 시간을 출력한다. now를 입력할 경우 현재 시간을 출력한다. -f, --file=DATEFILE 파일로 부터 값을 읽어들여서 -d 옵션에 대응시킨다. -r, --reference=FILE 주어진 FILE의 최근 수정날짜를 출력한다. -R, --rfc-822 RFC-822 형식으로 날짜를 출력한다. -s, --set=STRING STRING로 시스템 시간을 설정한다. -u, utc, universal UTC표준으로 날짜를 출력한다. 우리나라의 경우 -u 옵션을 적용시키면, 현재시간 -9 가 될것이다. --help 도움말을 출력한다.

출력형식은 FORMAT값을 변경함으로써 이루어진다. 다음과 같은 포맷인자를 이용할 수 있다.
%% % 자체를 표시한다.
%a 요일이름을 표시한다. (일..토)
%A 완전한요일이름을 표시한다. (일요일..토요일)
%b 월이름을 표시한다. (1월..12월)
%B 완전한월 이름을 표시한다. (1월..12월)
%c 날짜와 시간을 표시한다. (2007년 11월 14일 (수) 오전 12시 50분 16초)
%C 세기를 나타낸다. (년을 100으로 나눈 몫)
%d 월일 (01..31)
%D 월일 (mm/dd/yy)
%e 월일 (1..31)
%F %Y-%m-%d 와 같다.
%g 년도로 마지막 두자리만 표시
%G 년도로 모든자리 표시
%h %b 와 같다.
%H 시간 (00..23)
%I 시간 (01..12)
%j 년일(001..366)
%k 시간 (0..23)
%l 시간 (1..12)
%m 월 (01..12)
%M 분 (00..59)
%n 개행문자
%N 나노초 (000000000..999999999)
%P 오전 오후
%p 오전 오후
%r 시간 (오전/오후 hh시 mm분 ss초)
%R 시간 (hh시 mm분)
%s UTC 기준 1970-01-01 부터 지금까지 흐른
%t 탭문자
%T 24시간 (hh:mm:ss)
%u 주중 요일 (1..7), 1이 월요일이다
%U 1년중 몇번째 주인지, 일요일 기준 (00..53)
%V 1년중 몇번째 주인지, 월요일 기준 (00..53)
%w 주중 요일 (0..6), 0은 일요일
%x mm/dd/yy
%X %H:%M:%S 와 동일
%Y 년도 (1970..)
%Z 타임존 대한민국은 KST

환경변수

TZ 타임존을 정의 한다. 만약 정의되어 있지 않다면 /etc/localtime 의 설정 값을 이용한다.

사용예

프로그램의 실행시간 측정

아래의 프로그램은 인자루 주어진 명령을 실행하고 걸린시간을 나노초 단위로 측정한다. 결과는 표준출력(:12) 한다.
#!/bin/sh

Command=$1

echo $command
time1=`date +%s.%N`

$1

time2=`date +%s.%N`
diff=`echo "$time2 - $time1" | bc`

echo "======================================="
echo "걸린시간 : $diff"

사용예
# ./time.sh "gcc -o linked linked.c"
=======================================
걸린시간 : 2.060248000

관련글

time(2), Dns 쿼리 결과 시간 측정