複数の大容量ファイルを複数のサーバーに連続して送信します。進捗状況を見たいのですが(使用したくありません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
このプログラムは高度なプログラムであり、基本機能の一部だけを知っています。しかし、テストした結果の仕組みは次のとおりです。