ファイルを移動して進行状況を表示するにはどうすればよいですか(例:進行状況バーを使用)。

ファイルを移動して進行状況を表示するにはどうすればよいですか(例:進行状況バーを使用)。

大容量ディレクトリの移動時に進行mv状況(%)を表示する方法はありますか?cpGentooのコマンドには-g進捗状況を表示するスイッチがあります。

答え1

progress実行コマンドに関連する記述子を見つけ、進行状況と速度を表示するための新しいツールがあります。ここで見つけることができます

progress -w

実行中のすべてのcp、mv、およびその他のジョブの統計出力

答え2

もっと簡単な解決策があると、coreutilでバイナリを上書きするというアイデアが気に入らないので、ここに私の方法があります。

同期:rsyncはファイルをコピーし、プログレスバー-Pスイッチを持ちます。したがって、rsyncがインストールされている場合は、シェルドットファイルで単純なエイリアスを使用できます。

alias cp='rsync -aP'

欠点は、rsyncがcpより少し遅いことです。しかし、これを時間に合わせて測定し、自分で決める必要があります。私はそれで大丈夫です:-)

シェルスクリプト:シェルスクリプトは進行状況バーを生成することもできます。しばらく前からインターネットで見たのですが、ソースが覚えていません。

#!/bin/sh
cp_p()
{
   strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
      | awk '{
        count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i<=percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]\r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}

これは次のとおりです。

% cp_p /home/echox/foo.dat /home/echox/bar.dat
66% [===============================>                      ]

バー:

'bar' - ASCIIプログレスバーを持つ 'cat'

barすべての種類のアクション(cp、tarなど)のプロセスバーを表示するために使用される小さなシェルスクリプト。次の例を見つけることができます。プロジェクトのホームページ。

Bourne Shell用に書かれているので、近くのどこでも実行できます。

答え3

cp および mv のパッチバージョンをビルドでき、両方とも -g スイッチをサポートして進行状況を表示します。ガイドラインとパッチを含むこのページしかし、:ページでワークフローを案内します。

$ sudo cp src/cp /usr/bin/cp
$ sudo cp src/mv /usr/bin/mv

元のcpとmvを上書きします。これには2つの欠点があります。まず、最新のcoreutilsパッケージがシステムに到着すると、上書きされます。次に、パッチバージョンに問題があると、標準のcpとmvに依存するスクリプトがクラッシュする可能性があります。むしろ次のようにしたいと思います。

$ sudo cp src/cp /usr/local/bin/cpg
$ sudo cp src/mv /usr/local/bin/mvg

ユーザーがコンパイルしたプログラムのファイルを/usr/local/binにコピーし、別の名前を指定します。したがって、進行状況バーが必要な場合はmvg -g bigfile /mnt/backup通常mvと言って使用します。

これを行うこともできますalias mvg="/usr/local/mvg -g"。ただ話し、mvg bigfile /mnt/backup進捗バーを直接インポートするだけです。

答え4

目標が進行状況バーを使用してディレクトリを移動/コピーすることですが、非ターミナルGUIを避けることであれば、mc(Midnight Commander)が良い選択です。

関連情報