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

touch 명령어 가이드: 파일 생성 및 타임스탬프 변경

`touch` 명령어는 Linux 및 Unix 계열 운영체제에서 파일의 접근 시간(atime) 및 수정 시간(mtime)을 업데이트하거나, 존재하지 않는 파일을 새로 생성하는 데 사용됩니다. 쉘 스크립트에서 임시 파일을 만들거나, 파일의 변경 시간을 특정 시점으로 설정해야 할 때 유용합니다. 이 가이드를 통해 `touch` 명령어의 기본적인 사용법과 다양한 옵션들을 익혀보세요.

touch 개요

`touch` 명령어의 주요 기능은 파일의 타임스탬프를 업데이트하는 것입니다. 파일이 존재하지 않으면, `touch`는 해당 이름으로 비어 있는 새 파일을 생성합니다. 이 명령어는 파일 내용에 직접적인 영향을 주지 않으면서 파일 시스템 메타데이터를 조작할 때 활용됩니다.

touch의 주요 역할

`touch` 명령어는 주로 다음과 같은 목적으로 사용됩니다:

주요 활용 분야

  • 파일 생성: 존재하지 않는 파일을 빠르게 생성합니다.
  • 타임스탬프 업데이트: 파일의 접근 시간(atime)과 수정 시간(mtime)을 현재 시간으로 업데이트합니다.
  • 특정 시간 설정: 파일의 타임스탬프를 과거 또는 미래의 특정 시점으로 설정합니다.
  • 스크립트 자동화: 쉘 스크립트에서 임시 파일을 만들거나, 빌드 시스템에서 파일 변경 여부를 판단할 때 사용됩니다.
  • 백업 및 동기화: 백업 스크립트에서 파일의 타임스탬프를 기준으로 백업 여부를 결정할 때 활용됩니다.

파일 타임스탬프 이해

Linux 파일 시스템에서 파일은 여러 종류의 타임스탬프를 가집니다:

주요 타임스탬프

  • Access time (atime): 파일이 마지막으로 읽힌 시간입니다. (`-a` 옵션으로 변경)
  • Modification time (mtime): 파일의 내용이 마지막으로 변경된 시간입니다. (`-m` 옵션으로 변경, 기본 동작)
  • Change time (ctime): 파일의 inode 정보(권한, 소유자, 하드 링크 수 등) 또는 내용이 마지막으로 변경된 시간입니다. `touch` 명령어를 사용하면 `mtime`과 함께 `ctime`도 항상 변경됩니다. `ctime`은 `touch` 명령어로 직접 변경할 수 없습니다.

주요 touch 명령어 옵션

`touch` 명령어는 파일의 특정 타임스탬프만 변경하거나, 특정 날짜와 시간으로 타임스탬프를 설정하는 등 다양한 옵션을 제공합니다.

1. 기본 동작 및 생성

2. 타임스탬프 종류 선택

3. 특정 시간으로 설정

생성된 명령어:

명령어를 조합해 보세요.

설명:

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

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

사용 예시

`touch` 명령어의 다양한 활용 예시들을 통해 파일을 생성하고 타임스탬프를 효율적으로 관리하는 방법을 익혀보세요.

빈 파일 생성

touch new_document.txt

현재 디렉토리에 `new_document.txt`라는 이름의 비어 있는 파일을 생성합니다.

기존 파일의 수정 시간 업데이트

touch report.log

`report.log` 파일의 최종 수정 시간(mtime)을 현재 시간으로 업데이트합니다. 파일 내용에는 변화가 없습니다.

어제 날짜로 파일 타임스탬프 설정

touch -d "yesterday" old_data.txt

`old_data.txt` 파일의 수정 및 접근 시간을 어제 날짜로 설정합니다.

특정 날짜와 시간으로 타임스탬프 설정

touch -t 2301010930.00 meeting_notes.txt

`meeting_notes.txt` 파일의 타임스탬프를 2023년 1월 1일 오전 9시 30분으로 설정합니다.

다른 파일의 타임스탬프 복사

touch -r source_file.txt target_file.txt

`source_file.txt`의 수정 및 접근 시간을 `target_file.txt`에 그대로 적용합니다.

여러 파일 한 번에 생성 또는 업데이트

touch file1.txt file2.txt file3.txt

`file1.txt`, `file2.txt`, `file3.txt` 세 개의 파일을 한 번에 생성하거나, 이미 존재하면 타임스탬프를 업데이트합니다.


동일 카테고리 명령어