pycp
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Die Programme pycp und pymv kopieren bzw. verschieben Dateien oder ganze Verzeichnisse, bieten aber - im Gegensatz zu den "klassischen" Shellbefehlen cp und mv - eine (farbige) Fortschrittsanzeige als auch eine Angabe der Transfergeschwindigkeit (in M/s)
Im Hintergrund arbeiten beide Programme mit den Bordmitteln von Python, es wird nicht auf die Shellbefehle zurück gegriffen.
Installation¶
Beide Programme sind nicht in den Paketquellen vorhanden, die aktuellste Version kann lokal für den aktuellen Benutzer aber über pip installiert werden[1]:
pip3 install --user pycp
Wer eine systemweite Installation wünscht, muss den folgenden Befehl mit Root-Rechten ausführen[2]:
So werden gleichzeitig pycp und pymc installiert, eine getrennte Installation ist nicht möglich.
Hinweis!
Fremdsoftware kann das System gefährden.
Nutzung¶
Die allgemeine Syntax lautet:
pycp [OPTIONEN] QUELLE ZIEL pymv [OPTIONEN] QUELLE ZIEL
QUELLE
kann dabei eine Datei oder ein Verzeichnis sein, ZIEL
muss ein existierendes Verzeichnis sein.
Beide Befehl arbeiten rekursiv, d.h. sind in QUELLE
noch Unterverzeichnisse vorhanden, werden diese mit kopiert bzw. verschoben. Dieses Verhalten lässt sich nicht ändern.
Existiert eine Datei in ZIEL
bereits, wird diese ohne Rückfrage überschrieben. Dies kann man über die entsprechende Option beim Befehlsaufruf ändern.
Beide Befehle kennen die selben Optionen:
Optionen von pycp und pymv | |
Option | Erklärung |
-i , --interactive | Es wird nachgefragt, ob eventuell bereits vorhandene Dateien überschrieben werden dürfen. |
-s , --safe | Eventuell vorhandene Dateien werden nie überschrieben. |
-f , --force | Eventuell vorhandene Dateien werden immer ohne Rückfrage überschrieben. Dies ist die Voreinstellung. |
-p , --preserve | Dateirechte und Zeitstempel werden beim Kopieren / verschieben beibehalten. |
-g , --global-pbar | Es wird nur eine Fortschrittsanzeige für alle Dateien angezeigt, nicht eine pro Datei. |
--ignore-errors | Auftretende Fehler werden ignoriert |
Beispiele¶
Der folgende Befehl verschiebt die Datei m_a_m.pdf aus dem aktuellen Verzeichnis nach /home/BENUTZER/Schreibtisch:
pymv m_a_m.pdf /home/BENUTZER/Schreibtisch/
[1/1]m_a_m.pdf => /home/BENUTZER/Schreibtisch/m_a_m.pdf 100% [############################################] - 372.68 M/s - Time : 00:00:00
Der folgende Befehl kopiert alle Dateien mit der Endung .xcf vom aktuellen Verzeichnis nach /home/BENUTZER/Sicherung, eventuell bereits vorhandene Dateien werden nicht überschrieben:
pycp -s *.xcf /home/BENUTZER/Sicherung/
[1/2]pinguine.xcf => /home/BENUTZER/Sicherung/pinguine.xcf Warning: Skipping /home/BENUTZER/Sicherung/pinguine.xcf - 0.00 B/s - ETA : --:--:-- [2/2]tasse.xcf => /home/BENUTZER/Sicherung/tasse.xcf 100% [############################################] - 828.41 M/s - Time : 00:00:00
Links¶
Github-Seite des Projekts