盲目飛行の代わりに、Linuxを使用してください pv
そして progress
コマンドの進行状況を追跡するコマンド。これらのユーティリティを使用すると、通常はないコマンドの進行状況バーが表示されます。完了までの推定時間も表示されます。
飛行機で長距離飛行している場合背もたれにビデオスクリーンがなければ、あなたがあなたの旅のどこまで進んでいるかを知るのは簡単ではありません。あなたが離陸したときを知っています。フライトの所要時間はわかっています。しかし、予定通りに、時間通りに、または予定より遅れているかどうかはどのようにわかりますか?機内映画を見たくない場合は、通常、ビデオ画面を切り替えて、航空機の位置を示す地図を表示できます。また、到着予定時刻(ETA)などの統計情報も取得できます。
ターミナルウィンドウからコマンドを起動するとビデオ画面のない長距離飛行のように感じることもあります。すべてが順調であるか、プロセスがハングしたか、完了に近づいているかどうかを示すものは何もありません。カーソルの点滅はあまり有益ではありません。
の pv
そして progress
コマンドを使用すると、いくつかの統計情報と少しの視覚的なフィードバック。プロセスが完了するまでの時間を確認できます。つまり、実行中のプロセスのETAを取得できます。カーソルを凝視するのに比べて、それは勝ちです。
PVのインストール
インストールする必要があります pv
.
インストールする pv
Ubuntuでは、次のコマンドを使用します。
sudo apt-get install pv
インストールする pv
Fedoraでは、次のコマンドを使用します。
sudo dnf install pv
インストールする pv
マンジャロでは、次のコマンドを使用します。
sudo pacman -Syu pv
PVを使用する
pv
パイプビューアーの略です。パイプはどこかにコマンドに関与する必要があります。 ISOイメージをパイプ処理する例を次に示します zip
ISOの圧縮zipファイルを作成します。
スクリーンショットを撮れるほどコマンドを遅くするために、この記事で使用した例のファイルの一部は、SILVERXHDと呼ばれる古い低速の外部USBに保存されていました。
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | zip > gparted.zip
情報 pv
ディスプレイの一番下の行に表示されます。
左から順に表示される情報は次のとおりです。
- これまでに転送されたデータ。
- 過去の経過時間。
- データ転送速度(スループット)。
- 進行状況バーと完了した割合の数値。
- 完了までの推定残り時間(ETA)。
pvを使用してファイルをコピーする
出力を含むファイルをコピーするには pv
、次のコマンドを使用します。
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso > gparted.iso
ファイルがコピーされると、進捗レポートが表示されます。
pvを使用して複数のファイルをコピーする
複数のファイルとフォルダーをコピーするには pv
ちょっとしたトリックを使う必要があります。を使用しております tar
ファイルを移動します。
tar -c help-files/ | pv | tar -x -C Documents/
の tar -c help-files/
コマンドの一部が指示します tar
作成する(-c
)help-filesフォルダー内のファイルのアーカイブ。これはパイプスルーされます pv
進行状況が表示されるようにします。その後、パイプで戻されます tar
コマンドの最後の部分。アーカイブが抽出されます(-x
)およびディレクトリが変更されます(-C
)抽出前のドキュメントへ。
そのため、ヘルプファイルにあるファイルとフォルダーは、進行状況を表示して、ドキュメントフォルダーにコピーされます。
今回は出力が少し異なります。
ETAは取得できません。進行状況バーに移動インジケータが表示されるようになりました。プロセスがアクティブであることを示していますが、従来のプログレスバーのように左から右に成長することはありません。 pv
パイプされているプロセスから抽出できる情報の表示に限定されます。
pvとtarを使用してアーカイブを作成する
でファイルをコピーする pv
そして tar
アーカイブファイルは残されません。一種の「仮想」アーカイブが作成されます tar
、に直接フィードバックされます tar
ファイルを抽出します。ファイルをコピーすることが目的であれば、それは達成されています。しかし、アーカイブファイルを作成する場合はどうでしょうか。
まだ使える tar
アーカイブファイルを作成し、進行状況レポートを取得するには pv
。で使用されるオプション tar
は -c
(アーカイブの作成)、 -z
(gzipで圧縮)および -f
(アーカイブのファイル名)。
使用していることに注意してください -
ファイル名として tar
stdoutを使用し、その出力をターミナルウィンドウに書き込む。パイプスルーされるため、出力は表示されません pv
.
アーカイブの実際の名前は、出力をパイプするファイル名になります pv
に。この場合、「help-files.tgz」です。
tar -czf - ./help-files/ | pv > help-files.tgz
前と同じ進捗インジケータが表示され、アーカイブファイルが作成されます。
関連する: Linuxでtarコマンドを使用してファイルを圧縮および抽出する方法
pv表示オプション
使用できるオプションは多数あります pv
レポートの詳細を変更します。
これらのオプションのいずれかを使用すると、他のオプションはすべてオフになります。したがって、3つの表示オプションを使用する場合は、これらの3つのオプションを指定する必要があります。
を使用して pv
オプションなしで使用すると、 -pterb
オプション。
- -p:表示する 割合 コンプリート。これは進行状況バーと完了した割合の数値です。
- -t:経過を表示する 時間.
- -e:表示する ETA.
- -r:表示する レート データ転送の。
- -b:表示する バイト カウント(これまでに転送されたデータ)。
- -n:パーセントを表示します 整数。これにより、完了した割合が整数で表示され、新しい更新が新しい行に追加されます。
最後のコマンドを繰り返して、 -p
(完了率)オプション pv
.
tar -czf - ./help-files/ | pv - p > help-files.tgz
これにより、他のすべての表示オプションがオフになります。 pv
完了した要素のみを提供します。
なぜなら pv
から完了した数字の割合を取得しません tar
、進行状況バーは移動インジケータに置き換えられます。パーセンテージの数値はありません。
wcでpvを使用する
使用できます pv
テキストファイル(またはファイル)をパイプする wc
. wc
次に、キャリッジリターン、文字、単語をカウントし、 pv
進捗レポートを提供します。
ここでは、help-filesディレクトリ内のすべての「.page」ファイルをパイピングしています wc
.
いつ wc
これで、help-filesフォルダー内のすべての「.page」ファイルからのキャリッジリターン(行)、文字、単語の数を確認できます。
progressコマンドのインストール
の progress
コマンドは、次と同じ種類の有用な情報を提供します pv
、ただし、Linuxコマンドの特定のセットで機能します。
インストールする progress
Ubuntuでは、次のコマンドを使用します。
sudo apt-get install progress
インストールする progress
Fedoraでは、次のコマンドを使用します。
sudo dnf install progress
インストールする progress
マンジャロでは、次のコマンドを使用します。
sudo pacman -Syu progress
コマンドの進行状況
タイピング progress
ターミナルウィンドウでEnterキーを押すと、次のコマンドのリストが表示されます。 progress
で動作します。
progress
パイプでProgressを使用する
コマンドを監視するために使用できる2つのテクニックがあります progress
。 1つは、パイプを使用することです。
の tar
コマンドは、サポートされるコマンドのリストにあります progress
監視できるので、使用しましょう tar
.
使用するオプションは標準です -c
(アーカイブの作成)、 -z
(gzipで圧縮)および -f
(ファイル名)オプション。 help-filesフォルダー内のすべての圧縮アーカイブを作成します。アーカイブの名前は「help.tgz」になります。
それを配管します progress
を使用して -m
(モニター)オプション progress
プロセスが完了するまで報告を続けます。
tar -czf help.tgz ./help-files/ | progress -m
端末ウィンドウには、進行状況が表示されます tar
アーカイブを作成するコマンド。
各ファイルが処理されると、次の情報とともにリストされます。
- プロセスID。
- プロセス名。
- 完了した割合。
- 処理されたデータとファイルの合計サイズ。
- データレート(スループット)。
- 推定残り時間(ETA)。
2番目のデータセットが表示されるのに驚くかもしれません。この最初のデータセットは tar
。 2つ目は gzip
. tar
呼び出します gzip
圧縮を実行します。なぜなら gzip
サポートされているコマンドのリストにある progress
それについて報告します。
継続モニターモードでの進行状況の使用
使用できます progress
-M(モニター)オプションを使用して、リアルタイムの連続モニターモードで。
ターミナルウィンドウで次のコマンドを入力します。
progress -M
progress
監視するコマンドが実行されていないことを報告します。ただし、コマンドラインには戻りません。 progress
監視できるコマンドが開始されるまで待機します。その後、自動的にレポートを開始します。
別のターミナルウィンドウで、進行状況を監視できるコマンドのリストにあるコマンドを入力します。
使用します cat
。すぐに終了したコマンドは登録されません progress
、非常に長いテキストファイルの内容をリストします。
cat words.page
ターミナルウィンドウで progress
その中には、の統計が表示されます cat
コマンドが実行され、完了に向かって動作します。
いつ cat
ファイルのリストを終了します progress
待機状態に戻ります。
レポートできるコマンドの1つがかなりのタスクを実行するたびに、 progress
自動的に監視し、報告します。
それはかなりきれいです。
100%完了
実行時間の長いコマンドがどのように実行されているのか不思議から推測し、カーソルを熟考することから休憩を取る pv
そして progress
.