Linux 시스템 날짜 및 시간 관리 명령어 활용법

날짜와 시간을 확인하고 조작하는 리눅스 명령어들

리눅스 환경에서는 시스템의 날짜 및 시간을 조회하거나 수정하기 위해 여러 가지 기본 제공 명령어를 사용할 수 있다. 주로 cal, date, hwclock 명령어가 활용되며, 각각 달력 출력, 시스템 시간 조작, 하드웨어 클록 동기화에 특화되어 있다.

cal: 텍스트 기반 달력 출력 도구

cal 명령은 지정된 월 또는 연도의 달력을 콘솔에서 보기 쉽게 출력한다. 기본적으로 현재 월의 달력을 표시하며, 다양한 옵션으로 출력 형태를 제어할 수 있다.

문법: cal [옵션] [[일] 월 [년도]]

옵션설명
-j해당 월의 각 날짜를 1월 1일부터 누적된 일수(연중 몇 번째 날인지)로 표시
-y해당 연도 전체의 12개월 달력을 한 번에 출력
-m주 시작 요일을 월요일로 설정하여 출력
-s기본값인 일요일을 주의 첫날로 설정 (기본 동작)
-3지난달, 이번달, 다음달 총 3개월 분량의 달력을 연속 출력

예제: 2024년 전체 달력 출력

$ cal -y 2024
                            2024

       January               February               March          
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                   1    1  2  3  4  5  6  7    1  2  3  4  5  6  7
 2  3  4  5  6  7  8    8  9 10 11 12 13 14    8  9 10 11 12 13 14
 9 10 11 12 13 14 15   15 16 17 18 19 20 21   15 16 17 18 19 20 21
16 17 18 19 20 21 22   22 23 24 25 26 27 28   22 23 24 25 26 27 28
23 24 25 26 27 28 29                        29 30 31
30 31
...

예제: 오늘을 포함한 세 달 치 달력 보기

$ cal -3

date: 시스템 시간 조회 및 설정

date는 현재 시스템의 날짜와 시간을 출력하거나 수정할 수 있는 핵심 명령어다. 형식 지정자를 사용하면 원하는 형태로 시간 정보를 포맷팅할 수 있다.

문법: date [옵션] [+포맷]

옵션기능
-d "문자열"현재 시간 대신 특정 날짜/시간 문자열을 해석하여 출력 (예: "next Monday")
-s "문자열"시스템 시간을 지정된 값으로 설정 (관리자 권한 필요)
-r 파일특정 파일의 최종 수정 시간을 출력
-uUTC (협정 세계시) 기준 시간을 사용
-f 파일파일에 저장된 각 줄의 시간 문자열을 순차적으로 파싱

예제: 시스템 시간을 2030년 7월 15일 오전 10시 30분으로 변경

$ sudo date -s "2030-07-15 10:30:00"
Mon Jul 15 10:30:00 KST 2030

예제: 현재 시간을 초 단위까지 Unix 타임스탬프로 출력

$ date +%s
1718923800

예제: 파일의 수정 시각 확인

$ date -r /etc/passwd
Fri May 20 14:22:10 KST 2024

hwclock: BIOS 하드웨어 시계 조작

PC의 메인보드에 장착된 RTC(Real-Time Clock) 칩은 전원이 꺼져도 시간을 유지한다. hwclock은 이 하드웨어 클록과 시스템 운영체제 간의 시간 동기화를 담당한다.

문법: hwclock [옵션]

옵션설명
--show (-r)하드웨어 클록의 현재 시간을 출력
--systohc (-w)현재 시스템 시간을 기준으로 하드웨어 클록을 업데이트
--hctosys (-s)하드웨어 클록의 값을 읽어 시스템 시간으로 설정
--test실제로 반영하지 않고 수행 결과만 테스트
--utc클록을 UTC 모드로 간주하고 처리
--compare주기적으로 시스템 클록과 하드웨어 클록 차이를 비교 출력

예제: 시스템 시간을 기준으로 하드웨어 시계 갱신

$ date
Mon Jul 15 10:35:20 KST 2030
$ sudo hwclock --systohc
$ hwclock --show
Mon 15 Jul 2030 10:35:25 AM KST  -0.123456 seconds

예제: 부팅 시 하드웨어 클록으로부터 시스템 시간 복원

$ sudo hwclock --hctosys
이러한 명령어들은 시스템 관리, 로그 분석, 자동화 스크립트 등에서 정확한 시간 정보를 확보하는 데 필수적이다. 특히 서버 환경에서는 NTP(Network Time Protocol)와 함께 사용하여 시간 동기화 정확도를 높이는 것이 중요하다.

태그: cal Date hwclock 리눅스명령어 시스템시간

6월 25일 16:09에 게시됨