◼️ 기본 설명
date는 시스템의 현재 날짜와 시간(시:분:초), 표준 시간대(Timezone)를 확인하거나 사용자가 원하는 형식(포맷)으로 출력하고, 관리자 권한을 통해 시스템 시간을 수동으로 변경할 때 사용하는 명령어입니다.
◼️ 기본 커맨드 실행 시
| date |
| Tue Aug 25 00:58:56 KST 2026 |
옵션 없이 단독 실행하면 요일, 월, 일, 현재 시간(24시간제), 타임존(예: KST, UTC), 연도 순으로 기본 포맷에 맞춰 출력합니다.
◼️ 주요 옵션 및 포맷 지정자
| 옵션 | 설명 | 예시 |
-u, --utc | UTC(협정 세계시) 기준으로 날짜와 시간 출력 | date -u |
-d, --date | 특정 날짜/시간 또는 상대적 시간(예: 어제, 3일 후)을 계산하여 출력 | date -d "yesterday" |
-r, --reference | 특정 파일의 마지막 수정 시간을 읽어서 날짜로 출력 | date -r filename.txt |
-s, --set | 시스템 날짜 및 시간을 수동으로 설정 (루트 권한 필요) | sudo date -s "2026-08-25 01:00:00" |
-I[SPEC], --iso-8601 | ISO 8601 형식(YYYY-MM-DD)으로 출력 | date -I |
◼️ 포맷 지정자 (+ 기호 사용)
date +"포맷문자열" 형태로 출력 형태를 자유롭게 지정할 수 있습니다.
| 포맷 | 설명 | 예시 (date +"...") |
%Y, %m, %d | 연도(4자리), 월(01~12), 일(01~31) | date +"%Y-%m-%d" → 2026-08-25 |
%H, %M, %S | 시(00~23), 분(00~59), 초(00~59) | date +"%H:%M:%S" → 00:58:56 |
%F | %Y-%m-%d의 단축 포맷 | date +"%F" → 2026-08-25 |
%T | %H:%M:%S의 단축 포맷 | date +"%T" → 00:58:56 |
%s | Unix Timestamp(1970-01-01 00:00:00 UTC 이후 경과된 초) | date +"%s" → 1787615936 |
◼️ 관련 정보 및 팁
쉘 스크립트 활용: 백업 파일이나 로그 파일 생성 시 타임스탬프를 파일명에 붙일 때 필수적으로 사용됩니다.
Bash# 백업 파일명 생성 예시 tar -czvf backup_$(date +%Y%m%d_%H%M%S).tar.gz /var/log/상대적 날짜 계산 활용:
date -d "+7 days" +"%Y-%m-%d"(7일 뒤 날짜 확인)date -d "last month" +"%Y-%m"(지난달 연/월 확인)
관련 명령어:
timedatectl: systemd 기반 시스템에서 타임존 변경, NTP(시간 동기화) 상태 조회 및 제어hwclock: 메인보드의 물리적인 하드웨어 RTC(Real Time Clock) 시간 조회 및 동기화cal: 텍스트 달력 출력
* 이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.