리눅스 환경에서 오늘 날짜를 사용한 파일을 생성하려면 어떻게 할까요? 아래에서 알아봅니다.



# 리눅스에서 날짜 이름의 파일 생성하는 방법
먼저 파일을 생성하려면? 간단하게 touch 명령어를 사용할 수 있습니다. 만약 test.sh라는 쉘스크립트 파일을 만들어본다면 아래와 같습니다.
touch test.sh

이제 [test.sh](http://test.sh) 파일이 생성되었습니다. 그런데 test.sh는 백업을 자동으로 수행하는 파일이라고 생각해보겠습니다. 그러면 백업을 수행한 오늘 날짜의 네이밍이 가장 좋겠죠. 이제 두 가지 작업이 필요합니다.

1. 오늘 날짜를 가져오는 방법
2. 오늘 날자를 적용해 파일 생성하는 방법


이제 순서대로 알아보겠습니다.


! 오늘 날짜 가져오기, date
먼저 오늘 날짜는 어떻게 가져올까요? 바로 date 키워드를 사용합니다. date를 입력하면? 오늘 날짜를 화면에 출력해줍니다. 아래에서 입력해보겠습니다.
$ date

// 출력결과
Wed Jul 1 09:34:03 KST 2020

잘 출력되었네요... 하지만!! 원하는 포맷은 아니죠. 단순하게 년, 월, 일을 표기하되 구분자로 -(dash)기호를 사용하면 좋겠네요. 이제 아래처럼 입력합니다.

@ 년-월-일 표시
$ date +"%Y-%m-%d"

// 출력 결과
2020-07-01

좋습니다. 이제 추가로 시간도 넣어보겠습니다. 이번에는 :(콜론)을 구분자로 시:분:초를 추가하면 되겠네요!
$ date +"%Y-%m-%d %H:%M:%S"

// 출력 결과
2020-07-01 08:37:42

여기에 마지막으로 타임존(timezone)을 추가하면? %z를 추가합니다.
$ date +"%Y-%m-%d %H:%M:%S %z"

// 출력 결과
2020-07-01 09:47:06 +0900

오늘 날짜를 얻었습니다. 마지막으로 오늘 날짜의 파일을 생성하면 되겠습니다.


! 파일 생성하고 이름 날짜로 표기하기
이제 날짜는 얻었습니다. touch로 파일을 생성하되 예약어를 사용할 수 있도록 명령어 내부에 $() 기호를 사용해야합니다.
touch backup_$(date +"%Y%m%d").txt

// 생성된 파일 이름
backup_20200701.txt

드디어 원하는 파일이 생성되었습니다. 한가지 더 알아보겠습니다. 오늘 날짜의 디렉토리는 어떻게 만들까요?



! 오늘 날짜 디렉토리 만들기
위의 과정과 거의 동일합니다. touch만 mkdir로 바꾸면 되겠죠.
mkdir $(date +"%Y-%m-%d")

// 출력 결과
2020-07-01/
2020-07-01 이름의 디렉토리가 생성되었습니다.

마지막으로 정리하면... 아래의 부분이 주요합니다.

  • 하나. date 키워드로 날짜값 얻기
  • 둘. $()를 사용하여 명령어 사용 가능(interpolation)

여기까지 리눅스 환경의 날짜를 사용한 파일 생성 방법을 알아봤습니다!