touch
100%

명령줄 · 레슨 5

touch

touch 명령어로 빈 파일을 만들고 파일 타임스탬프를 관리하는 방법을 배웁니다.

touch 명령어는 파일 타임스탬프를 변경하며, 하나 이상의 빈 파일을 만드는 데에도 흔히 사용됩니다.

기본 구문은 다음과 같습니다:

touch [OPTIONS] FILE...

빈 파일 만들기

빈 파일을 생성하는 가장 간단한 방법은 touch 뒤에 파일 이름을 적는 것입니다. 파일이 존재하지 않으면 touch가 새로 만듭니다.

$ touch mysuperduperfile

이 명령어를 실행하면 현재 디렉터리에 mysuperduperfile이라는 새 빈 파일이 생성됩니다. 여러 파일을 한 번에 생성하려면 파일 이름을 나열하면 됩니다.

$ touch file1.txt file2.txt file3.log

자리 표시자 파일을 만들 때 유용하지만 touch는 파일에 텍스트를 추가하지 않습니다. 내용이 필요한 파일에는 텍스트 편집기나 쓰기용 명령어를 사용하세요.

아직 존재하지 않는 one, two, three라는 빈 파일 세 개를 만드는 명령어는 무엇인가요?

파일 타임스탬프 업데이트하기

파일에는 여러 타임스탬프가 있습니다. 기존 파일에 touch를 실행하면 기본적으로 접근 시간과 수정 시간이 현재 시간으로 바뀌며 파일 내용은 그대로 유지됩니다.

ls -l로 파일의 타임스탬프를 확인하고, touch를 실행한 후 다시 확인해보면 알 수 있습니다.

$ ls -l mysuperduperfile
$ touch mysuperduperfile
$ ls -l mysuperduperfile

ls -l 출력은 보통 접근 시간이 아니라 수정 시간을 보여 줍니다.

이미 존재하는 report.txttouch report.txt를 실행하면 어떻게 되나요?

변경할 타임스탬프 선택하기

-a는 접근 시간만, -m은 수정 시간만 변경합니다.

$ touch -a notes.txt
$ touch -m notes.txt

notes.txt의 수정 시간만 업데이트하는 명령어는 무엇인가요?

시간 설정 또는 복사하기

-d 옵션은 현재 시간 대신 날짜 문자열을 받습니다.

$ touch -d "2026-06-23 12:30:00" mysuperduperfile

-r 옵션으로 참조 파일의 타임스탬프를 복사할 수 있습니다.

$ touch -r file1.txt file2.txt

여기서 file1.txt는 타임스탬프를 제공하고 file2.txt가 변경됩니다. -t 옵션을 사용하면 압축된 숫자 형식으로 시간을 지정할 수도 있습니다.

source.txt의 타임스탬프를 target.txt에 복사하는 명령어는 무엇인가요?

파일 생성 방지하기

-c 옵션은 파일이 이미 존재할 때만 업데이트하며, 없으면 새로 만들지 않습니다.

$ touch -c existing-file.txt

파일이 없으면 이 명령어는 파일을 만들지 않습니다. 새 파일을 추가하지 않고 타임스탬프만 갱신해야 하는 스크립트에서 유용합니다.

status.log가 있으면 업데이트하되 없으면 만들지 않는 명령어는 무엇인가요?

레슨 완료

touch 완료

이제 touch로 빈 파일을 만들고 파일 타임스탬프를 제어할 수 있습니다.

  • 하나 이상의 빈 파일을 만들 수 있습니다.

  • 파일 내용을 바꾸지 않고 타임스탬프를 갱신할 수 있습니다.

  • 접근 시간 또는 수정 시간을 선택할 수 있습니다.

  • 특정 시간을 설정하거나 참조 파일의 시간을 복사할 수 있습니다.

  • 없는 파일이 생성되지 않게 할 수 있습니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
명령줄(으)로 돌아가기