소개
이 랩에서는 명령줄을 사용하여 Linux 에서 날짜와 시간을 관리하는 방법을 소개합니다. 현재 날짜와 시간을 표시하고, 다양한 표시 목적에 맞게 형식을 사용자 정의하며, 시간 관련 정보를 조작하는 방법을 배우게 됩니다. 이러한 명령어는 다양한 시스템 관리 작업, 로그 분석, 스크립트 스케줄링, 그리고 Linux 환경에서의 많은 일상적인 작업에 필수적입니다.
이 랩에서는 명령줄을 사용하여 Linux 에서 날짜와 시간을 관리하는 방법을 소개합니다. 현재 날짜와 시간을 표시하고, 다양한 표시 목적에 맞게 형식을 사용자 정의하며, 시간 관련 정보를 조작하는 방법을 배우게 됩니다. 이러한 명령어는 다양한 시스템 관리 작업, 로그 분석, 스크립트 스케줄링, 그리고 Linux 환경에서의 많은 일상적인 작업에 필수적입니다.
Linux 에서 date 명령은 현재 날짜와 시간을 표시합니다. 이 기본적인 명령어는 스크립트, 로그 및 많은 시스템 작업에 사용됩니다.
프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다:
cd ~/project
date
다음과 유사한 출력을 볼 수 있습니다:
Wed Mar 31 21:00:00 PDT 2021
출력은 다음을 보여줍니다:
이 기본 형식은 빠르게 참조하는 데 유용하지만, 이후 단계에서 특정 요구 사항에 맞게 표시 형식을 사용자 정의하는 방법을 배우게 됩니다.
기본 날짜 형식은 유용하지만, 로그, 파일 이름 지정 또는 데이터 처리 작업에 특정 형식으로 날짜와 시간을 표시해야 하는 경우가 많습니다. date 명령은 출력을 사용자 정의할 수 있는 형식 지정자를 허용합니다.
다음 명령을 실행하여 날짜를 YYYY-MM-DD 형식으로, 시간을 HH:MM:SS 형식으로 표시합니다:
date '+%Y-%m-%d %H:%M:%S'
다음과 유사한 출력을 볼 수 있습니다:
2021-03-31 21:02:00
사용된 형식 지정자를 이해해 봅시다:
%Y: 4 자리 연도 (예: 2021)%m: 2 자리 월 (01-12)%d: 2 자리 월의 날짜 (01-31)%H: 24 시간 형식의 시간 (00-23)%M: 분 (00-59)%S: 초 (00-59)이 형식 (YYYY-MM-DD HH:MM:SS) 은 국제 날짜 표준 (ISO 8601) 을 따르고 파일 이름에 사용될 때 올바르게 정렬되므로 컴퓨팅에서 널리 사용됩니다.
몇 가지 다른 유용한 형식 조합을 시도해 보세요:
## YYYY-MM-DD 형식으로만 날짜 표시
date '+%Y-%m-%d'
## HH:MM:SS 형식으로만 시간 표시
date '+%H:%M:%S'
## 요일 이름과 월 이름을 포함한 사용자 정의 형식
date '+%A, %B %d, %Y'
마지막 명령은 "Wednesday, March 31, 2021"과 같은 출력을 생성합니다.
이 단계에서는 스크립트 및 조건부 작업에 유용한 날짜 및 시간의 특정 구성 요소를 추출하는 방법을 배우게 됩니다.
현재 연도를 추출하려면 다음을 사용합니다:
date '+%Y'
이렇게 하면 다음과 같이 현재 연도만 출력됩니다:
2021
이러한 개별 구성 요소를 셸 스크립트에서 타임스탬프가 있는 파일 이름을 지정하거나 현재 날짜를 기반으로 결정을 내리는 데 사용할 수 있습니다.
date 명령을 사용하여 타임스탬프가 있는 파일 이름을 만드는 간단한 셸 스크립트를 만들어 보겠습니다. 프로젝트 디렉토리에 timestamp.sh라는 새 파일을 만듭니다:
cd ~/project
nano timestamp.sh
다음 내용을 파일에 추가합니다:
#!/bin/bash
## Get current date and time in different formats
CURRENT_DATE=$(date '+%Y-%m-%d')
CURRENT_TIME=$(date '+%H-%M-%S')
TIMESTAMP=$(date '+%Y%m%d_%H%M%S')
## Print the values
echo "Current date: $CURRENT_DATE"
echo "Current time: $CURRENT_TIME"
echo "Timestamp: $TIMESTAMP"
## Example of using timestamp in a filename
echo "Example filename: backup_$TIMESTAMP.tar.gz"
Ctrl+O를 누른 다음 Enter를 눌러 파일을 저장하고, Ctrl+X를 눌러 nano 를 종료합니다.
스크립트를 실행 가능하게 만듭니다:
chmod +x timestamp.sh
스크립트를 실행합니다:
./timestamp.sh
출력은 다양한 날짜 형식을 보여주고 파일 이름에 어떻게 사용할 수 있는지 보여줍니다:
Current date: 2021-03-31
Current time: 21-05-30
Timestamp: 20210331_210530
Example filename: backup_20210331_210530.tar.gz
이 스크립트는 날짜 구성 요소를 시스템 관리 및 파일 관리 작업에서 실제로 사용하는 방법을 보여줍니다.
글로벌 팀과 함께 작업하려면 종종 다른 시간대의 시간을 이해하고 표시해야 합니다. Linux 를 사용하면 환경 변수를 사용하여 다양한 시간대의 날짜와 시간을 볼 수 있습니다.
먼저, 시스템에서 사용 가능한 시간대가 무엇인지 확인해 보겠습니다:
ls -la /usr/share/zoneinfo
대륙과 지역을 나타내는 수많은 디렉토리가 표시됩니다. 특정 지역을 탐색할 수 있습니다:
ls -la /usr/share/zoneinfo/America
이렇게 하면 아메리카 지역의 사용 가능한 모든 시간대가 표시됩니다.
특정 시간대의 날짜와 시간을 표시하려면 date 명령 앞에 TZ 환경 변수를 사용합니다:
TZ='America/New_York' date
이 명령은 뉴욕의 현재 날짜와 시간을 표시합니다. 출력은 다음과 유사합니다:
Wed Mar 31 18:00:00 EDT 2021
다른 위치의 시간을 표시해 보세요:
TZ='Europe/London' date
TZ='Asia/Tokyo' date
TZ='Australia/Sydney' date
또한 시간대 설정과 형식 지정자를 결합할 수도 있습니다:
TZ='Europe/Paris' date '+%Y-%m-%d %H:%M:%S %Z'
출력에는 시간대 약어가 마지막에 포함됩니다:
2021-03-31 23:00:00 CEST
이 예에서 %Z는 시간대 약어 (CEST, Central European Summer Time) 를 표시합니다.
다른 시간대로 날짜를 표시할 수 있는 것은 글로벌 팀 간의 활동 조정, 회의 예약, 다른 지역의 서버에서 로그 문제 해결에 매우 중요합니다.
이 랩에서는 시스템 관리 및 스크립팅 작업에 필수적인 Linux 날짜 및 시간 조작 명령어를 배웠습니다:
date 명령어 사용%Y, %m, %d, %H, %M, %S와 같은 형식 지정자를 사용하여 날짜 및 시간 형식 사용자 정의TZ 환경 변수를 사용하여 다른 시간대의 날짜 및 시간 표시이러한 기술은 다음과 같은 많은 실제 작업에 직접 적용할 수 있습니다:
Linux 를 계속 사용하면서 이러한 날짜 조작 기술이 효율적인 시스템 관리 및 자동화에 필수적이라는 것을 알게 될 것입니다.