반응형
    
    
    
  리눅스에서 파일명에 날짜를 포함시키는 방법(date)
1. date 명령어와 함께 파일명 생성하기
filename="myfile_$(date +%Y%m%d).txt"
touch "$filename"
위의 예시에서 $(date +%Y%m%d)는 현재 날짜를 YYYYMMDD 형식으로 반환하는 date 명령어의 결과를 삽입합니다. touch 명령어는 새로운 파일을 생성합니다.
2. strftime 함수 사용하기
filename="myfile_$(date +"%Y%m%d").txt"
touch "$filename"
위의 예시에서 $(date +"%Y%m%d")는 현재 날짜를 YYYYMMDD 형식으로 반환하는 것입니다.
3. cp 명령어를 사용하여 파일 복사 및 이름 변경하기
cp myfile.txt myfile_$(date +%Y%m%d).txt
위의 예시에서 myfile.txt 파일을 myfile_YYYYMMDD.txt로 복사하여 파일명에 날짜를 포함시킵니다.
date 명령어
date 명령어는 리눅스 및 유닉스 시스템에서 날짜와 시간 정보를 표시하거나 조작하는 데 사용됩니다. 다양한 옵션을 사용하여 원하는 형식으로 날짜 및 시간을 출력할 수 있습니다.
$ date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.
Mandatory arguments to long options are mandatory for short options too.
  -d, --date=STRING          display time described by STRING, not 'now'
      --debug                annotate the parsed date,
                              and warn about questionable usage to stderr
  -f, --file=DATEFILE        like --date; once for each line of DATEFILE
  -I[FMT], --iso-8601[=FMT]  output date/time in ISO 8601 format.
                               FMT='date' for date only (the default),
                               'hours', 'minutes', 'seconds', or 'ns'
                               for date and time to the indicated precision.
                               Example: 2006-08-14T02:34:56-06:00
  -R, --rfc-email            output date and time in RFC 5322 format.
                               Example: Mon, 14 Aug 2006 02:34:56 -0600
      --rfc-3339=FMT         output date/time in RFC 3339 format.
                               FMT='date', 'seconds', or 'ns'
                               for date and time to the indicated precision.
                               Example: 2006-08-14 02:34:56-06:00
  -r, --reference=FILE       display the last modification time of FILE
  -s, --set=STRING           set time described by STRING
  -u, --utc, --universal     print or set Coordinated Universal Time (UTC)
      --help     display this help and exit
      --version  output version information and exit
date 명령어에서 자주 사용되는 주요 옵션
- %Y: 4자리 연도를 나타냅니다.
 - %m: 2자리 숫자로 월을 나타냅니다(01-12).
 - %d: 2자리 숫자로 일을 나타냅니다(01-31).
 - %H: 24시간 형식으로 시간을 나타냅니다(00-23).
 - %M: 분을 나타냅니다(00-59).
 - %S: 초를 나타냅니다(00-59).
 - %A: 요일의 전체 이름을 나타냅니다(예: Sunday).
 - %a: 요일의 축약된 이름을 나타냅니다(예: Sun).
 - %B: 월의 전체 이름을 나타냅니다(예: January).
 - %b 또는 %h: 월의 축약된 이름을 나타냅니다(예: Jan).
 - %Z: 시간대를 나타냅니다(예: PDT, EST).
 - %s: 1970년 1월 1일부터 현재까지의 초 단위로 흐른 시간(에포크 타임)을 나타냅니다.
 - %j: 1년 중 현재 날짜의 일 수를 나타냅니다(001-366).
 - %U: 현재 주를 나타냅니다(00-53). 일요일을 주의 시작으로 간주합니다.
 - %w: 현재 요일을 나타냅니다(0-6). 일요일부터 토요일까지 0부터 6까지의 값을 가집니다.
 - %C: 4자리 연도의 세기를 나타냅니다(예: 20).
 
예를 들어, date +"%Y-%m-%d %H:%M:%S"와 같이 사용하면 "2023-06-10 14:30:45"와 같은 형식으로 현재 날짜와 시간을 출력할 수 있습니다.
스크립트를 사용하여 파일명에 날짜를 포함시키기
vim create_backup.sh
#!/bin/bash
# 날짜와 시간을 YYYYMMDD_HHMMSS 형식으로 얻기
DATETIME=$(date +%Y%m%d_%H%M%S)
# 날짜와 시간을 포함한 파일명 생성
FILENAME="backup_$DATETIME.tar.gz"
# 파일 생성 예시
touch $FILENAME
# 파일명 출력
echo "Created file: $FILENAME"
위의 스크립트를 create_backup.sh 파일로 저장한 후 실행 권한을 부여하고 실행하면 됩니다.
chmod +x create_backup.sh
./create_backup.sh
이와 같이 date 명령어를 사용하여 원하는 형식의 날짜 및 시간을 파일명에 포함시킬 수 있습니다. 형식은 date 명령어의 포맷 옵션(+%Y-%m-%d, +%Y%m%d_%H%M%S 등)을 변경하여 자유롭게 조정할 수 있습니다.
touch test.`date +%Y%m%d%H%M%s`.txt
touch $HOSTNAME.`date +%Y%m%d%H%M%S`.txt
728x90
    
    
  반응형
    
    
    
  '리눅스' 카테고리의 다른 글
| 리눅스에서 WebLogic을 설치하는 방법 (0) | 2014.07.17 | 
|---|---|
| 리눅스에서 LVM을 사용하여 논리적 볼륨을 확장하고 파일 시스템 크기를 조정하는 방법 (0) | 2014.07.11 | 
| 리눅스에서 HBA의 WWN을 확인하는 방법 (1) | 2014.07.04 | 
| HP hpasmcli 명령으로 HT(hyper-threading) 활성화 여부 확인 (0) | 2014.06.13 | 
| CentOS 6에 Cacti를 설치하고 설정하는 방법 (2) | 2014.06.10 |