![tail 명령이 파일의 변경 사항을 실시간으로 추적하지 않는 이유는 무엇입니까? [복사]](https://linux55.com/image/191516/tail%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%B3%80%EA%B2%BD%20%EC%82%AC%ED%95%AD%EC%9D%84%20%EC%8B%A4%EC%8B%9C%EA%B0%84%EC%9C%BC%EB%A1%9C%20%EC%B6%94%EC%A0%81%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
설명자를 사용하여 파일을 실시간 추적하면 tail --follow=descriptor file_name
파일에 적용된 변경 사항이 표시되지 않지만, 이름을 사용하여 파일을 실시간 추적하면 tail --follow=name file_name
파일에 적용된 변경 사항이 표시됩니다. 또한 tail 을 사용하여 파일을 추적하는 동안 파일에 쓸 때마다 --follow=name
tail 출력에 파일이 삭제된 다음 다시 나타나는 것으로 표시됩니다. 이것이 출력입니다 tail: file_name: No such file or directory
tail: 'file_name' has appeared; following new file
. 무슨 일이 일어나고 있는 걸까요? 파일이 처음부터 다시 작성됩니까? 파일이 기록될 때마다 파일 설명자가 변경됩니까?
답변1
파일에 어떻게 쓰나요?
파일에 쓸 때 파일을 이동하거나 삭제하고 같은 이름의 새 파일을 만든 다음 해당 파일에 쓰는 경우가 발생합니다. 그래서 당신이 사용할 때
--follow=name: tail은 file_name에만 관심을 가지므로 쓰기 전에 파일을 이동/삭제할 때를 알려주고,
tail: file_name: No such file or directory
동일한 이름의 파일을 생성하면 이를 알려주고tail: 'file_name' has appeared; following new file
파일에 쓸 수 있습니다. 화면에 뭐라고 쓰여 있는지 보세요.--follow=descriptor: tail은 파일을 이동/삭제한 후에도 파일 설명자를 따르며 파일 설명자는 이전 파일을 가리키며 를 입력하여 입력할 수 있습니다
/proc/{tail process id}/fd
.