pycp

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Ein Terminal öffnen

  2. Root-Rechte

Inhaltsverzeichnis
  1. Installation
  2. Nutzung
    1. Beispiele
  3. Links

Wiki/Icons/terminal.png 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

pycp und pymv benötigen Python 3.5 oder neuer, welches aber seit Ubuntu 16.04 standardmäßig installiert ist.

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