touch (Create Empty File / Update Timestamp)
touch는 리눅스에서 내용이 없는 빈 파일을 생성하거나, 기존 파일의 타임스탬프(접근/수정 시간)를 현재 시간으로 업데이트할 때 사용하는 명령어입니다.
1. 기본 사용법
touch [옵션] 파일명
- 파일이 존재하지 않으면: 크기가 0인 빈 파일을 생성합니다.
- 파일이 이미 존재하면: 파일 내용은 그대로 두고, 수정 시간만 현재로 갱신합니다.
2. 주요 옵션
| 옵션 | 이름 | 설명 |
|---|---|---|
-a |
access | 파일의 접근 시간(atime)만 변경합니다. |
-m |
modification | 파일의 수정 시간(mtime)만 변경합니다. |
-t |
timestamp | 현재 시간 대신 특정 시간으로 설정합니다. (형식: [[CC]YY]MMDDhhmm[.ss]) |
-r |
reference | 특정 파일의 시간을 참조하여 대상 파일의 시간을 똑같이 맞춥니다. |
-c |
no-create | 파일이 없어도 새로 생성하지 않고 시간만 갱신을 시도합니다. |
3. 실무 활용 예시
① 빈 파일 여러 개 동시에 만들기
touch index.html style.css script.js
② 파일의 수정 시간을 과거로 조작하기 (예: 2024년 1월 1일 10시 30분)
touch -t 202401011030 dummy.txt
③ 다른 파일의 시간과 똑같이 맞추기
touch -r source.txt target.txt
# target.txt의 타임스탬프를 source.txt와 동일하게 변경합니다.
4. [팁] 파일의 3가지 시간 정보 (stat 명령어)
리눅스는 파일에 대해 세 가지 시간을 관리합니다. stat 파일명으로 확인할 수 있습니다.
1. Access (atime): 파일을 마지막으로 읽은 시간.
2. Modify (mtime): 파일의 내용(Content)을 마지막으로 수정한 시간.
3. Change (ctime): 파일의 속성(권한, 소유주 등)이 마지막으로 바뀐 시간.