Linuxシステムで大きなファイルをコピー/移動するバックアップを作成するときは、進行中の操作の進行状況を監視することをお勧めします。多くのターミナルツールには、コマンドがパイプで実行されているときに進行状況情報を表示できる機能がありません。
また読む :Linuxでファイルをコピーしているときにプログレスバーを表示するアドバンスコピーコマンド
この記事では、 pvと呼ばれる重要なLinux/Unixコマンドを見ていきます。 。
推奨される読み物: 進行状況–(cp、mv、dd、tarなど)コマンドの進行状況を監視するための小さなツール
Pv は、パイプを介して送信されているデータの進行状況を監視できる端末ベースのツールです。 pvを使用する場合 コマンドを実行すると、次の情報が視覚的に表示されます。
- 経過時間。
- 進行状況バーを含む完了率。
- 現在のスループット率を表示します。
- 転送されたデータの合計。
- およびETA(推定時間)。
Linuxにpvコマンドをインストールするにはどうすればよいですか?
このコマンドは、ほとんどのLinuxディストリビューションにデフォルトでインストールされていないため、以下の手順に従ってインストールできます。
Fedora、CentOS、RHELについて
最初にEPELリポジトリをオンにしてから、次のコマンドを実行する必要があります。
# yum install pv # dnf install pv [On Fedora 22+ versions]
サンプル出力
Dependencies Resolved ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: pv x86_64 1.4.6-1.el7 epel 47 k Transaction Summary ================================================================================= Install 1 Package Total download size: 47 k Installed size: 93 k Is this ok [y/d/N]: y Downloading packages: pv-1.4.6-1.el7.x86_64.rpm | 47 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : pv-1.4.6-1.el7.x86_64 1/1 Verifying : pv-1.4.6-1.el7.x86_64 1/1 Installed: pv.x86_64 0:1.4.6-1.el7 Complete!
Debian、Ubuntu、LinuxMintの場合
# apt-get install pv
サンプル出力
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: pv 0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded. Need to get 33.7 kB of archives. After this operation, 160 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe pv amd64 1.2.0-1 [33.7 kB] Fetched 33.7 kB in 0s (48.9 kB/s) Selecting previously unselected package pv. (Reading database ... 216340 files and directories currently installed.) Preparing to unpack .../archives/pv_1.2.0-1_amd64.deb ... Unpacking pv (1.2.0-1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up pv (1.2.0-1) ...
GentooLinuxの場合
emergeパッケージマネージャーを使用してpvをインストールします 示されているコマンド。
# emerge --ask sys-apps/pv
FreeBSDLinuxの場合
次のように、ポートを使用してインストールできます。
# cd /usr/ports/sysutils/pv/ # make install clean
または、次のようにバイナリパッケージを追加します。
# pkg_add -r pv
Linuxでpvコマンドを使用するにはどうすればよいですか?
pv 主に、進行中の操作の進行状況を監視する機能がない他のプログラムで使用されます。適切なオプションを使用して、2つのプロセス間のパイプラインに配置することで使用できます。
pvの標準入力 標準出力に渡され、進行状況(出力)が標準エラーで出力されます。 Linuxのcatコマンドと同様の動作をします。
pvコマンドの構文は次のとおりです。
pv file pv options file pv file > filename.out pv options | command > filename.out comand1 | pv | command2
pvで使用されるオプション ディスプレイスイッチの3つのカテゴリに分類されます 、出力修飾子 および一般的なオプション 。
表示修飾子の下のいくつかのオプション。
- 表示バーをオンにするには、 -pを使用します オプション。
- 経過時間を表示するには、 –timerを使用します オプション。
- 操作が完了するまでにかかる時間を推測するETAタイマーをオンにするには、 –etaを使用します。 オプション。推測は、以前の転送速度と合計データサイズに基づいています。
- レートカウンターをオンにするには、 –rateを使用します オプション。
- これまでに転送されたデータの合計量を表示するには、 –bytesを使用します オプション。
- 視覚的な表示ではなく整数パーセントの進行状況通知を表示するには、 -nを使用します オプション。これは、 pvを使用する場合に役立ちます ダイアログコマンドを使用して、ダイアログボックスに進行状況を表示します。
出力修飾子の下のいくつかのオプション。
- 進行状況情報を表示する前に最初のバイトが転送されるまで待機するには、 –waitを使用します オプション。
- 転送されるデータの合計量がサイズであると想定する パーセンテージとETAを計算するときのバイト数は、 –size SIZEを使用します オプション。
- 更新間の秒数を指定するには、 –interval SECONDSを使用します オプション。
- –forceを使用する 操作を強制するオプション。このオプションは、標準エラーが端末ではない場合に、pvにビジュアルを表示させる。
- 一般的なオプションは–help 使用情報と–バージョンを表示します バージョン情報を表示します。
例でpvコマンドを使用する
1。 オプションが含まれていない場合、 pv コマンドはデフォルトの-pで実行されます 、 -t 、 -e 、 -r および-b オプション。
たとえば、 opensuse.vdiをコピーするには /tmp/opensuse.vdiにファイルします 、このコマンドを実行して、スクリーンキャストのプログレスバーを確認します。
# pv opensuse.vdi > /tmp/opensuse.vdi
2。 / var / log / syslogファイルからzipファイルを作成するには、次のコマンドを実行します。
# pv /var/log/syslog | zip > syslog.zip
3。 / etc / hosts の行数、単語数、バイト数をカウントするには プログレスバーのみを表示しながらファイルを作成するには、以下のコマンドを実行します。
# pv -p /etc/hosts | wc
4。 tarユーティリティを使用してバックアップファイルの作成の進行状況を監視します。
# tar -czf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tgz)
5。 pvの使用 およびダイアログ ターミナルベースのツールを組み合わせて、次のようにダイアログプログレスバーを作成します。
# tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70
概要
これは、ファイルの対処/移動/バックアップなどの操作の進行状況を監視する機能がないツールで使用できる優れた端末ベースのツールです。その他のオプションについては、 man pv> 。
この記事がお役に立てば幸いです。pvコマンドの使用について追加するアイデアがあれば、コメントを投稿してください。また、使用中にエラーが発生した場合は、コメントを残すこともできます。