web-dev-qa-db-ja.com

プログレスバーがあるが、rsyncほど重くないUnixのcopyコマンド

たくさんのファイルをコピーする必要があります。 -aPオプションを渡して、(a)処理するファイルがいくつ残っているか、および(b)個々のファイルのどれだけがコピーされるかを確認できるため、通常はrsyncを使用します。

ただし、rsyncはチェックサムを使用して多くのことを実行し、ファイルがコピーされたことを確認します。しかし、今は本当に必要ありません。ただし、通常のcpには、上記の残りのファイル数は含まれていません。これは非常に役立ちます。

cpのような、残っているファイルの数の進行状況が含まれていますが、rsyncほど重くはありませんか?

14
Rory

-Wスイッチを指定してrsyncを実行すると、チェックサムが無効になります。

21
Stefan Wolff

これはあなたの提案に適したエイリアスですか?

cp_p() {
    rsync -WavP $1 $2
}

-W-デルタ転送アルゴリズムを使用しません
-アーカイブモード
-v詳細
-Pプログレスバーを表示し、ファイルの一部を保持します

places で見つけた別の代替案。ただし、pv(pipeviewer)パッケージが必要です。

cp_pv() {
    pv -per $1 > $2
}

-p進行状況を表示
-eイータを表示
-r表示率
-n数値出力を表示

/ editこれで、上記のエイリアスをテストし、機能することを確認できます。以前にタイプミスがあった

6
Vijay

あなたは単にcp cmdの-vオプションを叩くか、ローカルホストにscpを使うことができます

3
egorgry
3
Fabian Zeindl

gcpは、Niceツールです。ここには PyPIパッケージ がありますが、これはディストリビューションパッケージ(たとえば debian / buntapt-get install gcp仕事をします)。

ニース gcpに関するチュートリアル記事 もあります。

 $ gcp -r Solaar/solaar2 
 
 7.53 MiBをコピー100%| ###################### ####### | 134.92 M/s時間:00:00:00 
1
spinus

暗号化のオーバーヘッドはやりすぎですが、scpをローカルで使用できます。

scp <file-from> <file-to>

コピー中は進捗状況を表示します。

1
warren