여러 개의 대용량 파일을 여러 서버에 연속해서 보냅니다. 진행 상황을 보고 싶지만(그래서 사용하고 싶지 않음 scp --quiet
) 복사가 완료되면 통계를 볼 필요가 없습니다.
표준 입력에서 입력을 받아 표준 출력에 반영한 다음 입력 스트림이 닫힐 때 삭제하는 도구가 있습니까? 이것은 ncurses가 무엇을 할 수 있는지를 생각나게 하지만 온라인에서 이것을 수행하는 어떤 것도 찾을 수 없는 것 같습니다.
예를 들어, 다음과 같은 유틸리티를 호출하는 경우 echo-then-discard
다음과 같이 호출할 수 있습니다.
scp lots-*-of-files "$server:$dest" | echo-then-discard
그러한 도구가 존재하더라도 업데이트 유형에서는 작동하지 않을 수 있습니다 scp
. 파이프 scp
출력이 진행을 포기하는 것처럼 보이기 때문입니다(아마도 ncurses가 멋진 업데이트를 수행하려면 터미널에 직접 액세스해야 하기 때문일 것입니다).
답변1
그래픽 데스크탑 환경
쉬운 방법은 터미널 에뮬레이터 창에서 이를 사용 less
하고 프로그램의 출력을 리디렉션하는 것입니다.
program-name | less
예를 들어, 색상을 보존하고 싶다면,
ls -l --color ~/* | less -r
less를 종료하면("q" 사용) 이전 대화가 그대로 유지됩니다.
텍스트 모드 화면
많은 최신 텍스트 모드 화면은 이전 대화를 유지하지 않지만 설치하여 사용할 수 있습니다 screen
.
screen
# run some programs here
screen
# run the program from which you want temporary output saved here
exit
그런 다음 "첫 번째 화면"과 해당 대화로 돌아갑니다.
screen
이 프로그램은 고급 프로그램이고 기본 기능 중 일부만 알고 있습니다. 하지만 테스트해 본 결과 작동 방식은 다음과 같습니다.