Die meisten von Ihnen haben bemerkt, dass der cp
Befehl zeigt den Kopierfortschritt nicht an beim Kopieren von Dateien/Ordnern. Wenn ich eine große Datei mit cp
kopiere Befehl, ich habe wirklich keine Ahnung, wie lange es dauern wird oder wie hoch der aktuell kopierte Prozentsatz ist. Abgesehen davon, dass ich beim Kopieren großer Dateien auf das blinkende Cursorsymbol im Terminal und die Festplattenanzeige schaue, habe ich keine Ahnung, ob der Kopiervorgang wirklich läuft oder nicht. Nicht mehr! Hier ist gcp
Dienstprogramm kommt in Hilfe. Das gcp (G offis cp ) ist ein erweitertes Tool zum Kopieren von Dateien, das stark vom traditionellen cp
inspiriert ist Befehlsdienstprogramm, aber mit einigen zusätzlichen Funktionen. Es ist völlig kostenlose Open-Source-Software, veröffentlicht unter der GNU General Public License.
Im Gegensatz zum cp
Befehl bietet das Dienstprogramm gcp die folgenden High-Level-Funktionalitäten:
- Zeigt die Kopierfortschrittsanzeige mit geschätzter Zeit, aktueller Dateigeschwindigkeit usw. an
- gcp kopiert weiter, auch wenn es ein Problem gibt. Es wird einfach die problematische Datei beim Kopieren überspringen und die nächsten Dateien kopieren.
- Es kann sowohl einzelne als auch mehrere Dateien oder Ordner kopieren.
- gcp protokolliert alle seine Aktionen. So können wir leicht herausfinden, welche Dateien erfolgreich kopiert wurden.
- Wenn Sie versehentlich einen Kopiervorgang abbrechen, wird dies protokolliert. Anstatt den Inhalt zu löschen, behält er den teilweise kopierten Inhalt. Sie können den Kopiervorgang dann erneut ausführen und die restlichen Dateien werden dort kopiert, wo Sie sie verlassen haben.
- Wenn Sie eine Kopie starten, während eine andere bereits läuft, werden die Dateien zur ersten Warteschlange hinzugefügt, dies verhindert, dass Ihre Festplatte ständig ihren Lese-/Schreibkopf bewegt.
- Sie können eine Liste der kopierten Dateien speichern und sie später erneut aus dieser Liste kopieren. Dies ist sehr nützlich, wenn Sie dieselben Dateien auf mehrere Ziele kopieren möchten.
In dieser kurzen Anleitung zeige ich Ihnen, wie Sie Linux und Unix-ähnliche Betriebssysteme installieren und gcp.
gcp unter Linux installieren
gcp ist in den Standard-Repositories von Debian und Ubuntu verfügbar. Sie können installieren, indem Sie einfach den folgenden Befehl im Terminal ausführen:
$ sudo apt-get install gcp
Für Arch Linux und seine Derivate ist es in AUR verfügbar. Sie können es also mit jedem AUR-Hilfsprogramm installieren, zum Beispiel Yay .
$ yay -S python-gcp-git
Installieren Sie dann die python-progressbar Paket, das verwendet wird, um den Fortschrittsbalken beim Kopieren von Dateien anzuzeigen.
$ yay -S python-progressbar
gcp ist auch auf PyPI verfügbar, Sie können es mit dem Pip-Paketmanager installieren wie unten:
$ pip3 install gcp
Und schließlich installieren Sie python-progressbar.
Debian/Ubuntu:
$ sudo apt-get install python-progressbar
Verwendung von gcp, dem erweiterten Dateikopierer, unter Linux
Die gcp-Nutzung ist ziemlich gleich wie die des cp-Befehls.
Die typische Verwendung von gcp ist:
gcp [OPTIONS] FILE DEST gcp [OPTIONS] FILE1 [FILE2...] DEST-DIR
Lassen Sie mich Ihnen einige praktische Beispiele zeigen. Der folgende Befehl kopiert den Inhalt von Dir1 in ein Verzeichnis namens Dir2 .
$ gcp Dir1/video.mp4 Dir2/
Beispielausgabe:
Copying 876.53 MiB 100% |############################| 30.08 MB/s Time: 0:00:30
Wie Sie in der obigen Ausgabe sehen, zeigt der gcp-Befehl die Kopierfortschrittsanzeige mit der geschätzten Zeit, der aktuellen Dateigeschwindigkeit usw. an. Dadurch können wir leicht finden, was wirklich vor sich geht.
Um mehrere Dateien zu kopieren, geben Sie sie einfach nacheinander und das Zielverzeichnis wie unten beschrieben an.
$ gcp file1 file2 Dir
Um einen Ordner in einen anderen Ordner zu kopieren, verwenden Sie -r
kennzeichnen wie unten.
$ gcp -r Dir1/ Dir2/
Wenn Sie den Fortschrittsbalken nicht sehen möchten, können Sie ihn mit --no-progress
deaktivieren Flagge.
$ gcp --no-progress source destination
Wenn der Zielordner bereits dieselbe Datei enthält, erhalten Sie die folgende Warnmeldung:
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
Sie können die Journaldatei überprüfen, ob der vorherige Dateiprozess erfolgreich abgeschlossen wurde oder nicht.
$ cat /home/sk/.gcp/journal
Ausgabe:
/home/sk/Dir1/video.mp4 OK:
Wenn die Ausgabe OK ist , der Kopiervorgang ist erfolgreich. Wenn die Ausgabe PARTIAL ist , Dies bedeutet, dass die Datei kopiert wurde, aber etwas schief gelaufen ist (z. B. Ändern der Berechtigungen der Datei). FEHLER bedeutet - die Datei wurde nicht kopiert.
Führen Sie für weitere Details zum gcp-Dienstprogramm den folgenden Befehl aus:
$ gcp --help
Oder lesen Sie die Manpages.
$ man gcp
Aktualisierung:
Der Fortschrittsbalken für cp
und mv
Befehle können einfach mit einem Patch namens "Advanced Copy" hinzugefügt werden . Einzelheiten finden Sie unter folgendem Link.
Erweitertes Kopieren – Fortschrittsbalken zu cp- und mv-Befehlen in Linux hinzufügen