ほとんどの人は、cp
コマンドはコピーの進行状況を表示しません ファイル/フォルダのコピー中。 cp
で大きなファイルをコピーしているとき コマンド、私はそれがどれくらいの時間がかかるのか、または現在コピーされているパーセンテージは何であるのか本当にわかりません。大きなファイルをコピーしているときに、ターミナルの点滅するカーソルアイコンとハードドライブインジケータを見る以外に、コピーの進行状況が実際に進行しているかどうかはわかりません。もう違います!ここでgcp
ユーティリティが役に立ちます。 gcp( G offiのcp )は高度なファイルコピーツールであり、従来の cp
から大きく影響を受けています。 コマンドユーティリティですが、いくつかの追加機能があります。これは完全に無料のオープンソースソフトウェアであり、GNU GeneralPublicLicenseの下でリリースされています。
cp
とは異なり コマンドを実行すると、gcpユーティリティは次の高レベルの機能を提供します。
- コピーの進行状況インジケーターを、推定時間、現在のファイル速度などとともに表示します。
- gcpは、問題が発生した場合でもコピーを続行します。問題のあるファイルのコピーをスキップして、次のファイルをコピーします。
- 単一または複数のファイルまたはフォルダの両方をコピーできます。
- gcpはすべてのアクションをログに記録します。そのため、どのファイルが正常にコピーされたかを簡単に見つけることができます。
- 誤ってコピープロセスをキャンセルした場合は、その記録が保持されます。コンテンツを削除する代わりに、部分的にコピーされたコンテンツを保持します。その後、コピープロセスを再度実行すると、ファイルを残した場所に残りのファイルがコピーされます。
- 他のファイルがすでに実行されているときにコピーを起動すると、ファイルが最初のキューに追加されます。これにより、ハードドライブが常に読み取り/書き込みヘッドを移動する必要がなくなります。
- コピーしたファイルのリストを保存して、後でそのリストから再度コピーすることができます。同じファイルを複数のターゲットにコピーする場合に非常に便利です。
この簡単なガイドでは、LinuxおよびUnixライクなオペレーティングシステムにgcpをインストールする方法を紹介します。
Linuxにgcpをインストールする
gcpは、DebianおよびUbuntuのデフォルトのリポジトリで利用できます。ターミナルから次のコマンドを実行するだけでインストールできます:
$ sudo apt-get install gcp
Arch Linuxとその派生物の場合、AURで利用できます。したがって、 Yayなどの任意のAURヘルパーを使用してインストールできます。 。
$ yay -S python-gcp-git
次に、 python-progressbarをインストールします パッケージ。ファイルのコピー中に進行状況バーを表示するために使用されます。
$ yay -S python-progressbar
gcpはPyPIでも利用でき、Pipパッケージマネージャーを使用してインストールできます 以下のように:
$ pip3 install gcp
そして最後に、python-progressbarをインストールします。
Debian / Ubuntu:
$ sudo apt-get install python-progressbar
Linuxで高度なファイルコピー機であるgcpを使用する方法
gcpの使用法は、cpコマンドの使用法とほとんど同じです。
gcpの一般的な使用法は次のとおりです。
gcp [OPTIONS] FILE DEST gcp [OPTIONS] FILE1 [FILE2...] DEST-DIR
いくつかの実用的な例を示しましょう。次のコマンドは、 Dir1の内容をコピーします Dir2というディレクトリに移動します 。
$ gcp Dir1/video.mp4 Dir2/
出力例:
Copying 876.53 MiB 100% |############################| 30.08 MB/s Time: 0:00:30
上記の出力にあるように、gcpコマンドは、推定時間、現在のファイル速度などを含むコピーの進行状況インジケーターを表示します。これにより、実際に何が起こっているかを簡単に見つけることができます。
複数のファイルをコピーするには、ファイルを次々に指定し、以下のようにターゲットディレクトリを指定します。
$ gcp file1 file2 Dir
フォルダを別のフォルダにコピーするには、 -r
を使用します 以下のようなフラグ。
$ gcp -r Dir1/ Dir2/
プログレスバーを表示したくない場合は、 --no-progress
を使用して無効にすることができます フラグ。
$ gcp --no-progress source destination
ターゲットフォルダにすでに同じファイルがある場合は、次の警告メッセージが表示されます。
File [/home/sk/Dir2/video.mp4] already exists, skipping it ! /!\ THE FOLLOWING FILES WERE *NOT* SUCCESSFULY COPIED: - /home/sk/Dir1/video.mp4 -- Please check journal: /home/sk/.gcp/journal
前のファイル処理が正常に完了したかどうかをジャーナルファイルで確認できます。
$ cat /home/sk/.gcp/journal
出力:
/home/sk/Dir1/video.mp4 OK:
出力がOKの場合 、コピープロセスは成功です。出力がPARTIALの場合 、ファイルがコピーされたが、問題が発生したことを意味します(ファイルのアクセス許可の変更など)。 失敗 意味-ファイルはコピーされませんでした。
gcpユーティリティの詳細については、次のコマンドを実行してください:
$ gcp --help
または、マニュアルページを参照してください。
$ man gcp
更新:
cp
のプログレスバー およびmv
「AdvancedCopy」という名前のパッチを使用して、コマンドを簡単に追加できます。 。詳しくは以下のリンクをご確認ください。
高度なコピー–Linuxのcpおよびmvコマンドにプログレスバーを追加