touch파일이 존재하지 않는 경우 비어있는 새 파일을 작성합니다. 유틸리티는 해당 사례를 구체적으로 처리하기위한 코드를 포함해야합니다. 이 유틸리티는 Unix V7에 나타났습니다 . 그 설명서 따라서 설명 :
touch — 파일을 마지막으로 수정 한 업데이트 날짜
touch각 파일 의 수정 날짜를 설정하려고 시도 합니다 . 파일에서 문자를 읽고 다시 쓰면됩니다. ** 파일 *이 존재하지 않으면 파일을 만들려고 시도하지 않습니다.-c 옵션을 지정 합니다.
( touch파일이 비어 있으면 어떻게 했는지 모르겠습니다 . 기본 시스템 호출 은 나중에 나왔습니다.)
touch파일이 존재하도록 설계된 이유 는 확실하지 않지만 파일이 원인 인 것 같습니다 make. 왜 파일의 수정 시간을 현재 시간으로 설정 하시겠습니까? 수정 시간을 특정 시간으로 설정하는 것이 유용 할 수있는 경우가 있지만, 그 능력은 나중에 왔으며 원본 touch은 수정 시간을 현재 시간으로 만 설정할 수있었습니다. 그렇게하는 이유 make는 파일에 따라 규칙 을 다시 실행하기위한 것입니다.
즉, file foo과 barfrom에서 생성 할 명령을 선언하는 makefile이 있다고 가정하십시오 foo. 을 입력 make bar하면 명령이 실행되고 bar생성됩니다. 경우 bar존재하고보다 새로운 foo, make bar때문에, 아무것도하지 않는 make그 가정 bar이미 생성되었습니다. 그러나 bar보다 오래된 버전 인 경우 최신 상태가 아니며 재생성해야 foo한다고 생각하십시오 bar.
그러나 생성 규칙 bar이 변경 되면 어떻게 됩니까? 그런 다음 두 가지 옵션이 있습니다.
rm bar; make bar
touch foo; make bar
foo을 생성하려면 존재 해야 합니다 bar. 그렇지 않으면 명령이 일반적으로 작동하지 않습니다.
은 "터치"용어도 존재했다 make: 유틸리티 make -t bar만이의 수정 시간 설정 것, 즉, 명령을 실행하는 척 것입니다 bar실제로 생성하는 명령을 실행하지 않고 현재 시간을 bar(당신이 생각하는 경우이 작업을 수행 할 것 에 foo영향을 미치지 않아야 함 bar). touch유틸리티 따라서의 독립 실행 형 버전이었다 make -t기능입니다.
touch /forcefsck하는 빈 파일을 만드는 데 사용 합니다/forcefsck. 파일 자체는 아무 것도 포함 할 필요가 없으며 단지 존재하기 만하면됩니다. 이 없으면 빈 파일touch을 사용vi하거나nano저장 해야 합니다. 훨씬 빨리 사용touch합니다.