touch
파일이 존재하지 않는 경우 비어있는 새 파일을 작성합니다. 유틸리티는 해당 사례를 구체적으로 처리하기위한 코드를 포함해야합니다. 이 유틸리티는 Unix V7에 나타났습니다 . 그 설명서 따라서 설명 :
touch — 파일을 마지막으로 수정 한 업데이트 날짜
touch
각 파일 의 수정 날짜를 설정하려고 시도 합니다 . 파일에서 문자를 읽고 다시 쓰면됩니다. ** 파일 *이 존재하지 않으면 파일을 만들려고 시도하지 않습니다.-c
옵션을 지정 합니다.
( touch
파일이 비어 있으면 어떻게 했는지 모르겠습니다 . 기본 시스템 호출 은 나중에 나왔습니다.)
touch
파일이 존재하도록 설계된 이유 는 확실하지 않지만 파일이 원인 인 것 같습니다 make
. 왜 파일의 수정 시간을 현재 시간으로 설정 하시겠습니까? 수정 시간을 특정 시간으로 설정하는 것이 유용 할 수있는 경우가 있지만, 그 능력은 나중에 왔으며 원본 touch
은 수정 시간을 현재 시간으로 만 설정할 수있었습니다. 그렇게하는 이유 make
는 파일에 따라 규칙 을 다시 실행하기위한 것입니다.
즉, file foo
과 bar
from에서 생성 할 명령을 선언하는 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
합니다.