Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

리눅스(Linux) touch 명령어 완벽 가이드 – 기본 사용법과 예제

리눅스의 touch 명령어는 파일의 타임스탬프(시간 정보)를 갱신하거나, 해당 파일이 존재하지 않을 경우 새로 생성하는 역할을 합니다. 아래에서 다양한 예제와 활용 사례를 함께 살펴보겠습니다.

언뜻 쓸모없어 보일 수 있지만, 실제로는 매우 유용한 명령어입니다. 예를 들어 my_file.txt라는 빈 파일을 만들고 싶다면 다음 명령어 하나면 충분합니다.

touch my_file.txt

정말 간단하죠!

파일의 타임스탬프를 갱신하는 것 또한 실무에서 유용하게 쓰입니다.

예를 들어 현재 즐겨 보는 TV 프로그램 이름을 기록해 두는 favorite_tv.txt라는 파일이 있다고 가정해 봅시다.

10년 전 좋아하던 프로그램도 The Flintstones(플린스톤)였고, 지금도 여전히 동일합니다. 파일 내용은 바뀌지 않았지만, 타임스탬프는 10년 전 마지막으로 수정된 것으로 표시되어 있죠. 이 파일을 보는 사람은 그 프로그램이 아직도 최애 프로그램인지 알기 어렵습니다.

이럴 때 다음 명령어를 실행하면:

touch favourite_tv.txt

…파일의 내용은 그대로 유지되면서 수정(modification) 타임스탬프만 최근 시각으로 갱신됩니다. 덕분에 파일을 확인하는 사람이라면 누구나 The Flintstones가 여전히 최애 프로그램이라는 사실을 한눈에 알 수 있습니다.

touch 명령어 문법

touch [OPTIONS] file1 [file2 file3...]

참고할 점은 다음과 같습니다.

  • 하나 이상의 파일 경로를 지정할 수 있습니다.
  • 선택적으로 옵션(OPTIONS)을 추가할 수 있으며, 자주 사용하는 옵션은 아래 표를 참고하세요.
  • 기본적으로 touch는 지정된 파일의 접근(access) 시간수정(modification) 시간을 모두 갱신합니다.

주요 옵션

옵션 설명
-a 접근 시간(access time)만 변경
-c 새 파일을 생성하지 않음
-m 수정 시간(modification time)만 변경
-d DATE 현재 시간 대신 지정한 DATE 사용 (문자열로 파싱 가능한 날짜/시간)
-h 심볼릭 링크가 참조하는 파일 대신 링크 자체에 적용

더 많은 옵션과 자세한 내용이 궁금하다면 다음 명령어로 매뉴얼을 확인할 수 있습니다.

man touch

touch 명령어 예제

새 파일을 생성하거나 접근/수정 타임스탬프를 갱신하는 기본 사용법은 앞서 살펴보았습니다. 이번에는 위에서 소개한 옵션들을 활용한 추가 예제를 알아보겠습니다.

아래 예제 실행 후 변경 결과를 확인하려면 다음 명령어를 사용하세요.

stat <file-name>

접근 시간만 변경하기

touch -a my_file.txt

수정 시간만 변경하기

touch -m my_file.txt

특정 날짜/시간으로 설정하기

touch -d '17 March 2021 10:26' my_file.txt

심볼릭 링크 다루기

기본적으로 touch심볼릭 링크(symbolic link)가 가리키는 원본 파일에 작업을 수행합니다. 링크 자체의 타임스탬프를 갱신하고 싶다면 -h 옵션을 사용하세요.

touch -h my_symbolic_link