--- title: touch — 파일 생성과 시각 갱신 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 빈 파일을 만들거나 기존 파일의 수정 시각을 갱신하는 명령어. 배포 트리거와 점검에 씁니다. tags: 프로그램, 파일 및 디스크 관리, touch --- **💬 "touch 명령어"** touch는 **빈 파일을 만들고**, 이미 있으면 수정 시각만 갱신합니다. 파일 내용은 건드리지 않습니다. 실무에서는 **설정 리로드 트리거**나 배포 표시 파일로 자주 씁니다. - **개념**: 파일이 없으면 0바이트로 생성, 있으면 접근/수정 시각을 현재로 갱신합니다. - **왼쪽 열**: 만든 파일의 이름이 그대로 생성됩니다. - **오른쪽 열**: 기존 파일이면 내용은 그대로이고 Modify 시각만 바뀝니다. - **시각 지정**: -t, -d 옵션으로 원하는 시각을 지정할 수 있습니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | -c | 파일이 이미 있을 때만 시각을 갱신하고 새로 만들지 않습니다 | | -t [[CC]YY]MMDDhhmm[.ss] | 특정 시각으로 설정합니다 | | -d '문자열' | 사람이 읽는 형식으로 시각을 지정합니다 | | -a / -m | 접근 시각만 / 수정 시각만 갱신합니다 | ## 필수 명령어 조합 3가지 - `touch /var/www/html/reload.txt` — 앱이 감시하는 파일을 갱신해 리로드 유도 - `touch -c /opt/app/current/public/index.php` — 파일이 있을 때만 시각 갱신(실수 방지) - `touch -d '2026-10-18 02:00' /tmp/marker` — 특정 시각으로 표시 파일 생성 **💬 "리허설 환경에서 하는 검증 절차 알려줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 표시 파일 만들기 배포 시점을 남길 파일을 만듭니다. ``` touch /opt/app/releases/20261018/.deployed ``` ### 2단계 · 리로드 트리거 설정 감시 도구가 있는 환경에서 리로드를 유도합니다. ``` touch /etc/nginx/.reload ``` ### 3단계 · 확인 시각이 갱신됐는지 확인합니다. ``` stat -c '%n %y' /etc/nginx/.reload ``` ## 실무에서는 이렇게 씁니다 ### 1. 무중단 리로드 트리거 **상황** — PHP-FPM이 설정 변경을 파일 시각으로 감지합니다. ``` touch /etc/php/8.3/fpm/php.ini ``` **결과** — 내용 변경 없이도 설정 감시가 파일을 다시 읽습니다. **포인트** — 설정 내용을 바꾸지 않아도 강제 재적용이 필요할 때 유용합니다. ### 2. 배포 여부 표시 **상황** — 여러 서버에 배포 후 어느 서버가 최신인지 확인해야 합니다. ``` touch /srv/app/.deploy-20261018 && stat -c '%y' /srv/app/.deploy-20261018 ``` **결과** — 서버별 배포 시각을 파일로 남겨 비교할 수 있습니다. **포인트** — 모니터링이 파일 존재/시각을 읽도록 하면 배포 현황을 자동 점검할 수 있습니다. ## 주의할 점 - -t의 연도 형식은 두 자리/네 자리 혼동이 잦습니다. 시각 지정은 -d가 읽기 쉽습니다. - 운영 파일의 시각을 임의로 바꾸면 백업 도구(증분 백업)가 혼동할 수 있습니다. - -c 없이 오타로 경로를 쓰면 엉뚱한 위치에 빈 파일이 생깁니다. ## 실제 실행 화면 표시 파일을 만들고 시각을 확인한 결과입니다. ![touch 명령어 실행 결과: 빈 파일 생성과 시각 확인](https://games.cursorai.co.kr/assets/touch-demo.png) 실제 운영 중인 서버 이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/filesystem/touch.html