GNU tail
유틸리티에 대해 설명 합니다. 이 두 플래그의 차이점은 파일을 열면 예를 들어 다음과 같이 로그 파일이라는 것입니다.
$ tail -f /var/log/messages
... 내 기계의 로그 회전 기능이 메시지를 쓰는 동안 로그 파일을 회전하기로 결정하면 ( "회전"은 삭제 또는 다른 위치로 이동하는 것을 의미합니다.), 내가 보는 출력은 단지 중지.
다음과 tail
같이 파일을 열면 :
$ tail -F /var/log/messages
... 그리고 다시, 파일이 회전되면 파일이 tail
다시 사용 가능 해지 자마자, 즉 로그에 쓰는 프로그램이 new에 쓰기 시작했을 때 파일이 다시 열리기 때문에 출력이 콘솔에서 계속 흐릅니다 /var/log/messages
.
무료 BSD 시스템에는 -F
옵션이 없지만 메시지를 얻는 것과는 달리 GNU 시스템에서와 tail -f
같이 동작 tail -F
합니다.
tail: file has been replaced, reopening.
모니터링중인 파일이 사라지고 다시 나타날 때 출력에
당신은 이것을 테스트 할 수 있습니다
하나의 쉘 세션에서
$ cat >myfile
이제 입력 할 때까지 기다립니다. 그냥 몇 줄로 횡설수설을 입력하십시오. 모두 파일에 저장됩니다 myfile
.
에서 또 다른 (아마도 다른 터미널에서, 쉘 세션 가림없이cat
) :
$ tail -f myfile
myfile
콘솔 의 (종료) 내용이 표시 됩니다. 첫 번째 셸 세션으로 돌아가서 더 입력 tail
하면 두 번째 셸 세션에 해당 출력이 즉시 표시됩니다 .
이제 그만 cat
눌러 Ctrl+D및 제거myfile
파일 :
$ rm myfile
그런 다음 고양이를 다시 실행하십시오.
$ cat >myfile
... 몇 줄을 입력하십시오.
GNU tail
에서는 이러한 행이 두 번째 셸 세션 ( 아직 실행중인)에 표시 되지 않습니다tail -f
.
운동을 반복하고 tail -F
차이를 관찰하십시오.