Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스 date 명령어 완벽 가이드: 기본 사용법부터 상대 날짜 계산까지

리눅스 date 명령어, 생각보다 강력합니다

리눅스에서 자주 손이 가는 명령줄 도구 중 하나가 바로 date 명령어입니다. 옵션 없이 실행하면 현재 날짜와 시간을 그저 출력해 주는 단순한 명령처럼 보이지만, 제공되는 다양한 옵션을 조합하기 시작하면 작업을 한결 쉽고 재미있게 만들어 주는 강력한 도구로 변신합니다. 이번 글에서는 date 명령어의 기본 사용법부터 실무에서 유용한 옵션과 숨겨진 활용 팁까지 하나씩 살펴보겠습니다.

현재 날짜와 시간 확인하기

가장 기본적인 사용법은 옵션 없이 명령어를 입력하는 것입니다.

# date
Sun Dec 14 11:33:55 IST 2008

날짜(일)만 출력하고 싶다면 다음과 같이 입력합니다.

# date +"%d"
14

일, 월, 년을 모두 함께 출력하려면:

# date +"%d%m%y"
141208

여기에 요일 정보까지 추가하려면:

# date +"%a%d%m%y"
Sun141208

주요 포맷 옵션 정리

date 명령어가 제공하는 가능성은 무궁무진합니다. 전체 옵션은 date --help로 확인할 수 있으며, 그중 자주 쓰이는 옵션들은 다음과 같습니다.

  • %D – 날짜 (mm/dd/yy)
  • %d – 일 (01..31)
  • %m – 월 (01..12)
  • %y – 연도 뒤 두 자리 (00..99)
  • %a – 요일 약어 (Sun..Sat)
  • %A – 요일 전체 이름 (Sunday..Saturday)
  • %b – 월 이름 약어 (Jan..Dec)
  • %B – 월 이름 전체 (January..December)
  • %H – 시, 24시간제 (00..23)
  • %I – 시, 12시간제 (01..12)
  • %Y – 연도 전체 (1970...)

원하는 형식으로 날짜 꾸며서 출력하기

포맷 문자열 사이에 하이픈이나 슬래시 같은 구분자를 넣으면 원하는 형태로 자유롭게 출력할 수 있습니다.

# date +"%d-%m-%Y"
14-12-2008

# date +"%d/%m/%Y"
14/12/2008

공백과 쉼표도 문제없습니다. 조금 더 세련된 예시를 보겠습니다.

# date +"%A,%B %d %Y"
Sunday,December 14 2008

상대 날짜 계산하기: date 명령어의 진가

date 명령어의 진가는 상대 날짜를 다룰 때 드러납니다. 예를 들어 서버 로그를 백업하는 셸 스크립트를 작성한다고 가정해 봅시다. 어제 날짜의 로그를 가져와 백업하려면 어제 날짜가 필요한데, 이때 다음과 같이 간단히 해결할 수 있습니다.

# date --date="yesterday"
Sat Dec 13 12:04:03 IST 2008

마찬가지로 내일 날짜도 쉽게 구할 수 있습니다.

# date --date="tomorrow"
Mon Dec 15 12:04:39 IST 2008

지난달이나 다음 달의 날짜도 가능합니다.

# date --date="last month"
Fri Nov 14 12:06:23 IST 2008

# date --date="next month"
Wed Jan 14 12:06:25 IST 2009

꽤 멋지지 않나요? 아직 시작에 불과합니다. 일·주 단위보다 더 세밀하게도 지정할 수 있습니다. 5일 전 또는 7일 후의 날짜를 구해 보겠습니다.

# date --date="5 days ago"
Tue Dec 9 12:08:26 IST 2008

# date --date="7 days"
Fri Dec 21 12:09:23 IST 2008

좀 더 까다로운 질문도 거뜬합니다.

# date --date='next Saturday'
Sat Dec 20 00:00:00 IST 2008

심지어 한참 먼 미래의 날짜도 계산할 수 있습니다.

# date --date='2 years 3 months 4 day'
Fri Mar 18 12:12:16 IST 2011

마무리

마치 date 명령어가 영어를 알아듣는 것 같지 않나요? 이 외에도 리눅스 머신의 시스템 날짜를 설정하고 동기화하는 방법 등 새로운 활용 팁은 계속 발견됩니다. 셸 스크립트에서 날짜 처리가 필요할 때마다 date 명령어의 다양한 옵션을 적극적으로 활용해 보시기 바랍니다.