개요
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`와 같은 빌드 시스템에서 파일의 수정 시간을 조작하여 재빌드를 강제하거나 방지하는 데 사용될 수 있습니다.