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차이를 관찰하십시오.