전체 파일을 읽고 전체 tail -f
파일을 표시하는 것처럼 입력 대기 상태로 만들고 싶습니다 .
파일이기 때문에이 파일의 길이는 항상 변경 .log
됩니다.
파일 길이를 모르는 경우 어떻게해야합니까?
답변
tail
-n
끝에서 표시 할 줄 수를 지정하여 추가 할 수 있습니다. 이 줄과 함께 사용할 수 있습니다 -f
. 경우의 인수 -n
로 시작 +
그 행 라인의 수는 시작 부분 ( 0
그리고 1
, 전체 파일을 표시 2
@ 벤으로 나타낸 바와 같이, 첫 번째 행을 나타내는 이동). 그래서 그냥하십시오 :
tail -f -n +0 filename
로그 파일을 회전 얻을 경우, 당신은 추가 할 수 있습니다 --retry
(또는 결합 -f and --retry
에 -F
@Hagen가 제안)
또한 그래픽 터미널에서는 마우스 및 PageUp/ 또는 / PageDown를 사용하여 기록을 다시 스크롤 할 수 있습니다 (버퍼가 충분히 크다고 가정) . Ctrl+ C를 사용 하여 종료 하더라도이 정보는 그대로 유지됩니다 tail
. less
이것을 사용 하는 것이 훨씬 덜 편리하고 AFAIK를 사용하면 스크롤을 위해 키보드를 사용해야하며 less
으로 시작하는 것을 잊어 버린 경우 termcap을 초기화 해제 하는 것을 막을 방법을 모릅니다 -X
.
답변
이것을 달성하는 더 좋은 방법이 있습니다.
less +F <file>
그것은 당신에게 전체 파일을 보여줄 것이고, 모든 힘을 가지고 있으며 less
새로운 입력을 기다릴 것입니다. 입력 대기를 중단하고 특정 부분을 읽으려면로 ^C
시작하고로 다시 시작할 수 있습니다 F
.
F
명령에서 항상 사용할 수 less
있는 파일 열기를하면서 당신이 변화를보고 결정하는 경우, less
타격, F
그것을 켜집니다. 그것을 지적 해 주신 hiergiltdiestfu 와 와일드 카드 덕분 입니다.
답변
/ u / Anthon의 답변 외에도 다음과 같은 작업을 수행 할 수 있습니다.
{ cat filename; tail -0f filename; }
그 -0
꼬리 옵션에 해당 -n 0
DISPALY 0 라인 : 의미한다. 그러나는 -f
새로운 줄을 표시합니다.
괄호가 필요하지 않습니다 { }
. 때로는 파일 설명자를 어떤 식 으로든 리디렉션하려고하기 때문에 사용했습니다. 예를 들어 :
{ cat ; tail -0f -; } < /var/log/messages
벤 밀우드 (Ben Milwood)는 다음과 같이 말합니다. cat
작업 종료와 작업 시작 사이에 파일이 커지는 경쟁 조건이있을 수 있습니다 tail
. 그러나 이것은 학술 솔루션에 대한 “학문적”문제입니다.
답변
watch
명령은 당신을 위해 그렇게해야합니다.
시도해 볼 수도 있습니다
less +FG
더 많은 옵션이 있습니다 less
큰 파일이라고 말하면 파일을 스크롤 명령 있습니다.