리눅스(Linux)에서 date 명령어는 시스템의 날짜와 시간을 출력하거나 설정하는 데 사용됩니다. 날짜와 시간을 다루는 다양한 형식을 지원하며, 이를 통해 타임스탬프를 읽기 쉽거나 특정 형식으로 변환할 수 있습니다. 또한, 타임스탬프 값을 받아 사람이 이해할 수 있는 날짜로 변환하는 기능도 제공합니다.
1. date 명령어 기본 사용법
리눅스의 date 명령어는 기본적으로 현재 시스템의 날짜와 시간을 출력합니다.
# date
2024. 10. 02. (수) 09:17:42 KST
기본 출력 형식은 시스템의 로케일 설정에 따라 다를 수 있지만, 일반적으로 "년-월-일 시:분:초" 형식으로 나타납니다.
특정 형식으로 날짜와 시간을 출력하고 싶다면 + 옵션을 사용하여 원하는 포맷을 지정할 수 있습니다.
# date +"%Y-%m-%d %H:%M:%S"
2024-10-02 09:18:24
형식 지정자 예시
- %Y : 연도 (예: 2024)
- %m : 월 (예: 10)
- %d : 일 (예: 02)
- %H : 시간 (24시간 형식, 예: 09)
- %M : 분 (예: 18)
- %S : 초 (예: 24)
2. 타임스탬프(timestamp) 변환
리눅스에서 타임스탬프를 처리할 때, 보통 초 단위로 된 Unix 타임스탬프를 다룹니다.
이 타임스탬프는 1970년 1월 1일 00:00:00 UTC부터 경과된 초를 나타냅니다.
타임스탬프를 날짜로 변환하기
Unix 타임스탬프를 날짜로 변환하려면 -d 또는 --date 옵션을 사용합니다. 값 앞에 @ 기호를 붙여 해당 시점을 변환합니다.
# date -d @1727828448
2024. 10. 02. (수) 09:20:48 KST
반대로 현재 시간을 타임스탬프 형식으로 출력하려면 아래와 같이 입력합니다.
# date +%s
1727828448
밀리초(ms)가 포함된 타임스탬프 변환
일반적으로 초 단위로 처리되지만, 간혹 밀리초(ms) 단위의 타임스탬프를 접할 때가 있습니다.
타임스탬프 1727828448422 이 있을 때, 이 값에서 밀리초를 제거하고 1727828448로 변환하여 처리해야 합니다.
# date -d @1727828448422
56722. 09. 15. (금) 19:47:02 KST // 날짜가 이상하므로 확인 필요
# date -d @1727828448
2024. 10. 02. (수) 09:20:48 KST
밀리초가 포함된 타임스탬프는 마지막 3자리 숫자를 제거하여 초 단위로 변환한 후 date 명령어로 변환합니다.
'OS > Linux' 카테고리의 다른 글
Linux - jq 명령어란? (JSON 데이터 처리기) (0) | 2024.10.03 |
---|---|
Linux - /proc/[PID]/status 파일 정보 (4) | 2024.10.02 |
Linux - 리눅스 주요 로그 파일 정리 (0) | 2024.09.30 |
Linux - nmap을 이용하여 포트스캐닝 방법 (0) | 2024.08.22 |
Linux - CentOS 7.9 Yum 리포지토리 설정 변경 방법 (EOL 문제 해결) (2) | 2024.07.05 |