나는 플래그 (또는 핫키)로 less
로그를 따르고 앞뒤로 검색하며 일반적으로 문서를 자유롭게 이동하는 데 사용할 수 있습니다.+F
ShiftF
그러나 한 가지 빠진 것이 있습니다 less
. 일반적으로 파일의 끝에 있습니다. 새로운 일이 일어나고 싶습니다. 에서 tail -f
나는 단지 칠 것 enter여러 번, 새로운 로그 라인은 명확하게 된 라인에서 분리 나타납니다.
이것을 추가 할 수 less
있습니까? 어떻게?
나는 플래그 (또는 핫키)로 less
로그를 따르고 앞뒤로 검색하며 일반적으로 문서를 자유롭게 이동하는 데 사용할 수 있습니다.+F
ShiftF
그러나 한 가지 빠진 것이 있습니다 less
. 일반적으로 파일의 끝에 있습니다. 새로운 일이 일어나고 싶습니다. 에서 tail -f
나는 단지 칠 것 enter여러 번, 새로운 로그 라인은 명확하게 된 라인에서 분리 나타납니다.
이것을 추가 할 수 less
있습니까? 어떻게?
답변:
이것은 실제로 tail
행동 이 아니라 터미널입니다. Tail은 출력 스트림을 stdout으로 보내고 터미널로 이동하며 Enter 키를 눌러 출력 중간에 빈 줄을 삽입합니다. 꼬리 자체는 실제로 당신의 입력을 전혀 받아들이지 않습니다. 당신이 원하는 다른 것을 입력 할 수 있으며 그것은 나타날 것입니다.
less
그러나 콘솔 앱이며 입력을 받고 처리합니다. 터미널 제어 시퀀스를 사용하여 콘솔을 관리하고 있습니다. 이는 스크롤 방식입니다. 스트림에 임의의 문자를 삽입하면 디스플레이가 엉망이되고 프로그램을 제어하기 위해 입력을 덜 사용하게됩니다.
불행히도 현재 위치를 시각적으로 표시하는 방법이없는 것 같습니다. 그러나 끔찍한 기능 요청은 아니지만 때때로 새로운 기능을 얻는 사람 은 적습니다 .
나 자신을 위해 같은 대답을 찾는 동안 귀하의 질문을 찾았습니다.
수락 된 답변에 실망하여 해결 방법을 찾았습니다. 이상적이지는 않지만 내가 따르는 로그에서 내 위치를 표시 할 수 있습니다 less
.
나는 marklog
다음과 같은 내용 으로 작은 실행 스크립트 (이라고 불렀다 )를 만들어 내 경로에 넣었다.
#!/bin/sh
echo >> $1
echo >> $1
echo >> $1
echo `date` ---------------------------------------------------------------------- >> $1
echo >> $1
echo >> $1
물론 이것은 로그 파일에 대한 쓰기 액세스 권한이있는 경우에만 작동합니다. 또한 내가 소유하지 않은 로그 파일에 쓰지만 sudo 액세스 권한이있는이 버전을 만들었습니다.
#!/bin/sh
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
이 스크립트는 내가 찾던 일종의 시각적 휴식을 제공합니다. 사용할 수있는 방법은 최소한 3 가지가 있습니다.
를 사용할 때 일반적으로 Enter 키를 몇 번 누르는 지점에서 tail -f
대신 marklog
다른 터미널에서 실행 하십시오 (로그 파일의 경로를 인수로 제공).
동일한 터미널 창에서 스크립트를 실행할 수 있도록 CtrlZ일시 중지하는 데 사용 less
하지만 , 물론 less
(을 사용하여) 다시 포 그라운드 할 때 fg
더 이상 '팔로우'모드에 있지 않으므로 ShiftF다시 히트해야 합니다 ...
마지막으로 로그 파일의 경로를 입력 할 필요가 없으므로 가장 편리한 방법 일 수 있습니다 . 을 입력하여 marklog
직접 실행하십시오 . 현재 파일 이름을로 대체합니다 . 그러나 !에 응답하지 않습니다. '추종'모드에있는 동안 추종 모드를 종료하고을 실행 한 다음 다시 실행하려면 먼저 눌려 야 합니다.less
!marklog %
Less
%
less
CtrlC!marklog %
ShiftF
방법 3을 사용하면 Less의 명령 기록에 대한 추가 보너스를 얻을 수 있습니다. !
를 누르고 위쪽 화살표를 사용하여 가장 최근의 명령을 선택하십시오 (항상 항상 marklog
).
이것이 나를 이미 도와 준 사람에게 도움이되기를 바랍니다.