これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド pv です。
プログラム:
NAME
pv - パイプを介したデータの進行状況を監視します
SYNOPSIS
pv [オプション] [FILE] ...
pv [-h|-V]
DESCRIPTION
pv 時間などの情報を提供することで、パイプラインを介したデータの進行状況を示します。
経過時間、完了率 (進行状況バー付き)、現在のスループット レート、合計データ
転送とETA。
これを使用するには、適切なオプションを指定して XNUMX つのプロセス間のパイプラインに挿入します。
標準入力は標準出力にパススルーされ、進行状況は次のようになります。
標準エラーに表示されます。
pv 提供されたそれぞれをコピーします FILE 今度は標準出力 (- 標準入力を意味します)、または
いいえ FILEを指定すると、標準入力がコピーされるだけです。 これは次と同じ動作です
catとします。
を使用してファイルが転送される速度を確認する簡単な例 nc(1):
pv file | nc -w 1 どこか.com 3000
同様の例では、別のプロセスからファイルを転送し、予想されるサイズを渡します。
〜へ pv:
cat file | pv -s 12345 | nc -w 1 どこか.com 3000
数値出力を使用して、 対話(1) のプログラム
全画面での進行状況表示:
(タール cf - . \
| pv -n -s $(du -sb . | awk '{印刷 $1}') \
| gzip -9 > アウト.tgz) 2>&1 \
| 対話 - ゲージ '進捗' 7 70
エラーをスキップしてディスクのイメージを取得します。
pv -EE / dev / sdaに > ディスクイメージ.img
イメージをディスクに書き戻す:
pv ディスクイメージ.img > / dev / sdaに
ディスクをゼロに設定します。
pv < / dev / zero > / dev / sdaに
入力サイズを計算できず、出力がブロック デバイスの場合は、
ブロックデバイスのサイズが使用され、 pv 自動的にそのサイズで停止します
if -S 与えられていた。
(Linux のみ): 別のプロセス 3 によって開かれたファイル記述子 1234 を監視しています:
pv -d 1234:3
(Linux のみ): プロセス 1234 によって使用されるすべてのファイル記述子を監視します。
pv -d 1234
OPTIONS
pv には多くのオプションがあり、表示スイッチ、出力修飾子、および
一般的なオプション。
DISPLAY SWITCHES
表示スイッチを指定しない場合は、 pv あたかものように振る舞う -p, -t, -e, -r, -b されていた
与えられます (つまり、平均レート以外のすべてがオンになります)。 それ以外の場合は、それらのみが表示されます
明示的にオンになっているタイプが表示されます。
-NS、 - 進捗
プログレスバーをオンにします。 標準入力がファイルではなく、サイズが指定されていない場合
(とともに -s 修飾子)、進行状況バーは完了にどれだけ近づいているかを示すことができません
転送は行われるため、データが転送されていることを示すために左右に移動するだけです。
動く。
-NS、 - タイマー
タイマーをオンにします。 これにより、合計経過時間が表示されます。 pv されています
のために走っています。
-e、 --イータ
ETA タイマーをオンにします。 これは、以前の転送に基づいて推測を試みます
レートと合計データサイズ、完了までの時間。 このオプション
合計データ サイズが特定できない場合は効果がありません。
-私、 --フィネタ
ETA タイマーをオンにしますが、到着予定時刻ではなく現地到着予定時刻を表示します。
残り時間。 推定時刻が 6 時間以上先の場合、日付は次のようになります。
も示されています。
-NS、 - 割合
レートカウンターをオンにします。 これにより、現在のデータ転送速度が表示されます。
-a、 --平均レート
平均レートカウンターをオンにします。 これにより、データの平均速度が表示されます
ここまでの乗り換え。
-NS、 -バイト
総バイトカウンターをオンにします。 これにより、データの総量が表示されます
これまでに転送されました。
-NS、 --バッファパーセント
転送バッファのパーセント表示をオンにします。 これにより、次の割合が表示されます。
転送バッファは使用中ですが、以下の警告を参照してください。 %T 会場は フォーマット
を参照してください。
-NS、 --最後に書かれたもの NUM
最後を表示 NUM 書き込まれたバイト数 - ただし、以下の警告を参照してください %nA 会場は フォーマット
以下のセクションをご覧ください。
-NS、 - フォーマット FORMAT
オプションを無視する -p, -t, -e, -r, -a, -b, -T, -A、代わりに次の形式を使用します
string FORMAT 出力形式を決定します。 を参照してください。 フォーマット 以下のセクションをご覧ください。
-NS、 -数値
数値出力。 進捗状況を視覚的に示す代わりに、 pv を与える
整数パーセンテージ、XNUMX 行に XNUMX つ、標準誤差に基づいて、パイプに適しています (経由)
複雑なリダイレクト) へ 対話(1)。 ご了承ください -f の場合は必要ありません -n is
使用されています。
もし -数値 が使用中である場合、追加します -バイト の数が発生します
これまでに処理されたバイト数がパーセンテージの代わりに出力されます。 もしも --ラインモード も
使用中の場合、バイトまたはパーセンテージの代わりに、これまでの行数は次のようになります。
出力。 そして最後に、もし - タイマー も使用されている場合、各出力行に接頭辞が付けられます。
これまでの経過時間を XNUMX 進数の秒数で表します。
-NS、 - 静かな
出力はありません。 次の場合に便利です。 -L オプションは、単に制限するために単独で使用されています。
パイプの転送速度。
出力 モディファイア
-W、 - 待つ
進行状況を表示する前に、最初のバイトが転送されるまで待ちます
情報やETAの計算。 パイプ先のプログラムまたは
from は開始する前に追加情報が必要です。たとえば、データをパイプして gpg(1)または
のmcrypt(1) データを処理する前にパスフレーズが必要です。
-NS、 - 開始を遅らせます SEC
待つまで SEC 進行状況情報が表示されるまでに数秒が経過しました。
時間がかかり始めた場合にのみ進行状況バーを表示したいスクリプトの例
長い間。 これは 0.5 などの小数を指定できることに注意してください。
-s サイズ、 - サイズ サイズ
転送されるデータの総量が サイズ 計算時のバイト数
パーセンテージとETA。 「k」、「m」などの同じサフィックスを使用できます。 -L.
と一緒に使用しても効果はありません -d PID プロセスのすべてのファイル記述子を監視しますが、
で動作します -d PID:FD.
-l、 --ラインモード
バイト数を数える代わりに、行数 (改行文字) を数えます。 プログレスバーは、
新しい行が見つかった場合にのみ移動し、値が -s オプションは
行数として解釈されます。 ファイルサイズは自動的に計算されないことに注意してください
このオプションを使用すると、すべてのファイルを XNUMX 回読み取る必要がなくなります。
-0、 - ヌル
NULL で終了する行をカウントします。 このオプションは --line-mode を意味します。
-i SEC、 - 間隔 SEC
待つ SEC 更新間の秒数。 デフォルトでは、毎秒更新されます。 ノート
これは 0.1 などの小数にすることができます。
-w 幅、 - 幅 WIDTH
端末が WIDTH それを解決しようとする代わりに、文字幅で(または
推測できない場合は 80 と仮定します)。
-H 高さ、 - 身長 HEIGHT
端末が HEIGHT 解決しようとするのではなく(または
推測できない場合は 25 と仮定します)。
-N 名前、 - 名前 NAME
出力情報の先頭に次の文字を付けます。 NAME。 と併用すると便利 -c あなたが持っている場合
複雑なパイプラインの場合、そのパイプラインのさまざまな部分を区別できるようにしたいと考えています。
-NS、 - 力
強制出力。 通常は、 pv 標準エラーが次の場合、視覚的な表示は出力されません。
端末ではありません。 このオプションにより、強制的にそうされます。
-NS、 - カーソル
単にキャリッジ リターンを使用するのではなく、カーソル位置のエスケープ シーケンスを使用します。
これと併用すると便利です -N (名前)を複数使用している場合 pv
単一の長いパイプラインでの呼び出し。
DATA 転送 モディファイア
-L レート、 -レート制限 レート
転送を最大までに制限する レート XNUMX 秒あたりのバイト数。 接尾辞「k」、「m」、
「g」または「t」を追加して、キロバイト (*1024)、メガバイトなどを表すことができます。
-B バイト、 - バッファサイズ バイト
転送バッファ サイズを使用します。 バイト バイト。 「k」、「m」、「g」、または「t」の接尾辞は、
キロバイト (*1024)、メガバイトなどを表すために追加できます。 デフォルトのバッファ
size は、入力ファイルのファイルシステムのブロック サイズに 32 を乗算したもの (最大 512kb)、
ブロック サイズが特定できない場合は 400kb。
-C、 --スプライスなし
絶対に使用しないでください スプライス(2)、通常は可能であっても。 の スプライス(2) システム
call は、パイプとの間でデータを転送するための通常の方法よりも効率的な方法です。
read(2)と 書きます(2) ですが、転送バッファが使用できないことを意味します。 これ
を防止 -A -T 仕事中なので、使いたい場合は -A or -T その後、あなたが必要になります
使用する -Cただし、転送効率が若干低下します。 (このオプションには、
システムに影響を与える場合 スプライス(2)は利用できません)。
-E、 --スキップエラー
問題のあるセクションをスキップして読み取りエラーを無視します。 の
出力の対応する部分は null バイトになります。 最初はほんの数バイトだけ
スキップされますが、連続して多数のエラーがある場合、スキップは上に移動します。
これは、次のようにすることを目的としています。 dd conv=同期、エラーなし しかし持って
それほど徹底的にテストされていません。
指定 -E XNUMX 回実行すると、読み取りエラーを報告するのではなく、ファイルごとに XNUMX 回のみ報告します。
各バイト範囲はスキップされます。
-NS、 --サイズで停止
サイズを指定した場合 -s、そのバイト数が完了したらデータの転送を停止します。
入力の最後まで続行する代わりに、書き込みが行われます。
-d PID[:FD]、 --watchfd PID[:FD]
データを転送する代わりに、ファイル記述子を監視します FD プロセスの PID、それを表示します
進捗。 の pv プロセスは次の場合に終了します FD 別のファイルに変更するか、
読み取り/書き込みモードを変更するか、閉じます。 他のデータ転送修飾子 - およびリモート
control - このオプションと一緒に使用することはできません。
もしも PID が指定されている場合、そのプロセスが監視され、すべての通常のプロセスが監視されます。
開かれるファイルとブロック デバイスは進行状況バーとともに表示されます。 の pv プロセス
処理時に終了します PID 終了します。
-R PID、 -リモート PID
If PID のインスタンスです pv それはすでに実行されており、 -R PID それを引き起こすだろう
インスタンスは、代わりにこのインスタンスのコマンドラインが与えられたかのように動作します。
たとえば、 pv -L 123k プロセス ID 9876 で実行中、その後実行中 pv -R 9876
-L 321k これにより、321k ではなく 123k のレート制限の使用が開始されます。 ノート
一部のオプションは実行中に変更できないこと -c, -l, -f, -D, -E,
-S.
全般的な OPTIONS
-P ファイル、 --pidfile FILE
のプロセス ID を保存します pv in FILE。 ファイルがすでに切り詰められている場合、ファイルは切り詰められます
存在し、次の場合に削除されます pv 出る。 その間 pv が実行されている場合、それには次のものが含まれます
単一の数値 - プロセス ID pv - 改行が続きます。
-NS、 - 助けて
標準出力に使用法メッセージを出力し、正常に終了します。
-V、 - バージョン
標準出力にバージョン情報を出力し、正常に終了します。
フォーマット
Status -F オプションが指定されている場合、出力形式は指定された形式によって決定されます。
弦。 その文字列内では、次のシーケンスを使用できます。
%p プログレスバー。 残りのスペースを埋めるように拡張します。 指定するのは XNUMX 回だけです。
に相当 -p.
%t 経過時間。 に相当 -t.
%e ETA が残り時間として表示されます。 に相当 -e.
%I ETAは現地の完了時刻です。 に相当 -I.
%r 現在のデータ転送速度。 に相当 -r.
%a 平均データ転送速度。 に相当 -a.
%b これまでに転送されたバイト数 (場合は行数) -l 指定されていました)。 に相当 -b.
%T 使用中の転送バッファの割合。 に相当 -T。 の場合は「{----}」と表示されます。
転送が行われています スプライス(2)、パイプへの、またはパイプからの接続には使用しないため、
バッファ。
%nA 最後を表示 n 書き込まれたバイト数 (例: %16A 最後の 16 バイト)。 ドットのみを表示します
転送が行われている場合 スプライス(2)、パイプへの、またはパイプからの接続が行われるため、
バッファを使用しません。
%N によって与えられた名前の接頭辞 -N。 スペースで 9 文字に埋められ、末尾に : が付けられます。
%% 独身者 %。
すべての表示スイッチをオンにするのと同等のフォーマット文字列は次のとおりです。 `%N %b %T %t %r %a %p
%e'.
EXIT ステータス
終了ステータス 1 は、 -R or -P オプション。
その他の終了ステータスは、次のビットマスクです。
2 XNUMX つ以上のファイルにアクセスできませんでした。 STAT(2)開封済み、または開封済み。
4 入力ファイルが出力ファイルと同じでした。
8 ファイルを閉じるか、次のファイルに移動するときに内部エラーが発生しました。
16 XNUMX つ以上の入力ファイルからデータを転送中にエラーが発生しました。
32 信号をキャッチしたため早期退場となった。
64 メモリの割り当てに失敗しました。
終了ステータスがゼロの場合は、問題がないことを示します。
onworks.net サービスを使用してオンラインで pv を使用する