
私のLinuxシステムから大容量ファイルをコピーする必要があります。
例:
cp source.txt target.txt
各コピーファイルのコピーがまだ進行中であることを示すために進行状況バーを作成したいと思います。
はい」
cp file file1
ファイルコピー>ファイル1…
cp moon mars
コピー月>火星...
答え1
つまり、cp
進行状況バー出力の基本機能が見つかりません。なぜ? 多くの理由。しかし、いくつかのオプションがあります。
さまざまなツールを使用してください。
rsync
、@ user1404316が述べたように--progress
:rsync -P largeFile copyLocation
追加の意味スキームが必要ない場合は、
cp
リダイレクトを介して(「Pipe Viewer」)を使用してrsync
新しいファイルを作成してください。pv
stdout
pv < largeFile > copyLocation
もしあなたならする
progress
その列には特に指定されていませんが、使用できる追加のセマンティクスが必要です。ついているすでに実行中プロセスなので、次のように呼び出すことができます。# In one shell $ cp largeFile copyLocation # In another shell $ progress -m [ 4714] cp /home/hunteke/largeFile 1.1% (114 MiB / 10.2 GiB) # -m tells progress to continually update
もう1つの選択肢は、
gcp
進行状況バーに対して必要な操作を正確に実行することです。gcp largeFile copyLocation
別のオプションはURL
curl
処理機能を乱用しますfile://
。curl -o copyLocation file:///path/to/largeFile
シェルスクリプトを書くことができます
答え2
rsync
機能を含む大容量ファイルをコピーするための優れた機能を備えたコピープログラムであり、--progress
転送中にデータを減らす(したがってコピー時間を節約する)転送中の圧縮形式を持っています。
rsync --progress file1 file2
rsync
ネットワークの切断によって中断された可能性があるレプリカを復元する機能もあります。これを有効にするには、オプションを使用する必要があります--partial --append-verify
。ネットワーク経由でコピーするときに考えることができる唯一の欠点は、rsync
2台のコンピュータにインストールする必要があることです。発信者と受信者。man
詳細やその他の機能については、該当ページをご覧ください。
何らかの理由でインストールできないrsync
場合、またはインストールしたくない場合は、簡単で良い選択肢は次のとおりpv
です。パイプビューアコマンド、それはまさにあなたが要求したものです。
pv from-file > to-file
pv
また含まれますたくさん可視化オプション。man
利用可能なすべての特典を表示するには、そのページを参照してください。一般的に使用されるいくつかのオプションは次のとおりです。
-p, --progress
-t, --timer
-e, --eta
-r, --rate
-a, --average-rate
-b, --bytes