> 파일 및 디렉토리 관리 > touch

touch: 파일의 접근 및 수정 시간 변경 또는 새 파일 생성

touch 명령어는 파일의 최종 접근 시간(access time)과 최종 수정 시간(modification time)을 변경하거나, 존재하지 않는 파일일 경우 비어 있는 새 파일을 생성하는 데 사용됩니다. 특히 `--date` 옵션을 통해 특정 날짜와 시간으로 타임스탬프를 설정할 수 있어, 파일 관리 및 스크립팅에 유용하게 활용됩니다.

개요

touch는 파일의 타임스탬프를 업데이트하거나, 지정된 이름의 파일이 없을 경우 빈 파일을 생성합니다. 파일의 접근 시간과 수정 시간을 모두 변경하거나, 특정 옵션을 통해 둘 중 하나만 변경할 수 있습니다. `--date` 옵션은 특정 시점으로 타임스탬프를 설정할 때 매우 강력합니다.

주요 특징

  • 파일 타임스탬프 업데이트 (접근/수정 시간)
  • 새로운 빈 파일 생성
  • 특정 날짜/시간으로 타임스탬프 설정

주요 옵션

touch 명령어는 파일의 타임스탬프를 정교하게 제어할 수 있는 다양한 옵션을 제공합니다.

시간 설정

타임스탬프 유형

파일 생성 제어

생성된 명령어:

명령어를 조합해 보세요.

설명:

`touch` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

새로운 빈 파일 생성

touch new_file.txt

지정된 이름의 파일이 존재하지 않으면, 해당 이름으로 비어 있는 새 파일을 생성합니다.

기존 파일의 타임스탬프 업데이트

touch existing_file.txt

기존 파일의 접근 시간과 수정 시간을 현재 시스템 시간으로 업데이트합니다.

특정 날짜/시간으로 타임스탬프 설정 (--date)

touch --date="2023-01-15 10:30:00" report.log

파일의 타임스탬프를 '2023년 1월 15일 10시 30분 00초'로 설정합니다.

자연어 표현으로 날짜 설정 (--date)

touch -d "yesterday" old_document.txt

파일의 타임스탬프를 '어제' 날짜로 설정합니다.

YYYYMMDDhhmm 형식으로 시간 설정 (-t)

touch -t 202403011200 another_file.txt

파일의 타임스탬프를 '2024년 3월 1일 12시 00분'으로 설정합니다.

다른 파일의 타임스탬프 참조 (-r)

touch -r source.txt target.txt

source.txt 파일의 접근 및 수정 시간을 target.txt 파일에 적용합니다.

접근 시간만 업데이트 (-a)

touch -a only_access_time.txt

only_access_time.txt 파일의 접근 시간만 현재 시간으로 업데이트하고, 수정 시간은 변경하지 않습니다.

수정 시간만 특정 날짜로 업데이트 (-m -d)

touch -m -d "last friday" sales_data.csv

sales_data.csv 파일의 수정 시간만 '지난 금요일'로 업데이트하고, 접근 시간은 변경하지 않습니다.

팁 & 주의사항

touch 명령어는 간단해 보이지만, 스크립트나 자동화 작업에서 파일의 상태를 제어하는 데 매우 유용합니다.

활용 팁

  • `--date` 옵션은 'tomorrow', 'next monday', '10 days ago' 등 다양한 자연어 표현을 지원하여 유연한 시간 설정을 가능하게 합니다.
  • `touch`는 파일의 내용을 변경하지 않고 메타데이터(타임스탬프)만 변경합니다. 파일 내용에 영향을 주지 않습니다.
  • 스크립트에서 특정 파일의 존재 여부를 확인하고, 없으면 생성하는 용도로 활용될 수 있습니다. (예: `[ ! -f log.txt ] && touch log.txt`)
  • `make`와 같은 빌드 시스템에서 파일의 수정 시간을 조작하여 재빌드를 강제하거나 방지하는 데 사용될 수 있습니다.

동일 카테고리 명령어