터미널 내용을 파일에 쓰는 방법


13

내 상황은 다음과 같습니다. 터미널을 열고 매 초마다 변경되는 터미널 (텍스트)에 라이브 피드를 표시하는 프로그램을 실행합니다. 이 프로그램이 실행되는 동안에는 "Enter"키만 사용할 수 있습니다 (해당 프로그램을 종료합니다). 따라서 콘솔에 다른 것을 입력 할 수 없습니다.

매 초마다 터미널 내용을 파일에 쓰고 싶습니다.

어떻게합니까? 두 번째 콘솔을 열고 명령을 사용하여? setterm -dump 명령으로 작동시킬 수 없습니다.


1
흠, 이것은 어떤 응용입니까? 제대로 확인하지 않은 경우 응용 프로그램에 출력을 어딘가에 저장할 수있는 옵션이 있는지 확인해야합니다.
Severo Raz

확인 했어. 그렇지 않습니다. 그렇지 않으면이 문제가 발생하지 않습니다. 프로그램은 live-f1, launchpad.net/live-f1
Gustav

답변:


16

출력을 tee 프로그램으로 ( description ) .

my_program ... | tee my_program.log

이것은 터미널의 출력을 보여줄뿐만 아니라 파일에 기록합니다. my_program.log


첫 번째 답변과 같은 결과입니다. : /
Gustav

1
게시 한 스크린 샷에는 많은 터미널 이스케이프 시퀀스가있는 것처럼 보입니다. 런치 패드 정보에서 ncurses를 사용합니다 (소스를 다운로드 bzr branch lp:live-f1한 다음으로 이동했습니다 README). TERM바보 ( export TERM=dumb) 로 설정 하여 색상없이 프로그램을 실행할 수 있습니까 ? 소스에는 또한 TODO드라이버의 기록을 유지하기 위해 위시리스트를 기록한 파일이 있습니다. 개발자에게 문의하여 계획중인 내용이나 결과를 저장할 수있는 방법이 있는지 확인할 수 있습니다.
steabert

12

콘솔에서 출력을 보지 않고 터미널에서 명령을 실행하면 명령을 파일로 바로 리디렉션 할 수 있습니다. 프로그램이 실행되는 동안 출력이 파일에 기록됩니다. ls 명령을 사용하여 폴더의 내용을 list.txt라는 파일에 쓰려고한다고 예를 들어 보겠습니다.

ls > list.txt

>운영자가 사용자의 필요에 따라 출력을 리디렉션합니다.


Thx, 이것은 부분적으로 작동합니다. 내용은 HTML이어야하지만 파일을 열면 다음과 같습니다 (파일에서 추출). VETTEL [21G (B [m [39; 49m. 프로그램 이름은 "live-f1". live-f1> live_f1_dump. 로그
Gustav

@ 구스타프는 콘솔에서 html을 인쇄하고 파일에 위의 줄을 인쇄한다는 것을 의미합니까?
토플리스

예. 이것은 내가 제안한 명령을 실행할 때 얻는 입니다 : upload.ee/image/1223166/ss_01.png . 내 목표는 live-f1 피드에서 Formula 1 드라이버의 위치를 ​​파일로 가져 오는 것입니다. 작년에 첫 번째 터미널에서 live-f1 프로그램을 실행 한 다음 두 번째 터미널을 시작하고 첫 번째 터미널 화면을 캡처 한 명령을 사용하여 파일에 저장했습니다 (작년 파일의 사본 : upload.ee/download/1223347 /0b6545ce227661452c8/html.log ). tty "첫번째 터미널 포인터" "filename"과 같은 명령이있었습니다. 내가 그것을 위해 사용했던 것이 "tty"일 수도 있습니다.
Gustav

2

script명령을 사용해보십시오 . 불행히도, 그것은 성적표에 많은 제어 캐릭터 gobbledegook를 넣습니다. 그러나 NCSSM CS 사이트 에이 링크 가 표시되면 문제에 대한 불완전하지만 좋은 해결책을 찾을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.