Fortschrittsanzeige beim Kopieren

Ich kopiere gelegentlich auf der Linux-Kommandozeile größere Dateien. Es wäre nützlich, eine Fortschrittsanzeige zu haben, um zu sehen, wie lange das dauert.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.

Ich kopiere gelegentlich auf der Linux-Kommandozeile größere Dateien, etwa auf mein NAS. Da wäre es sehr nützlich, eine Fortschrittsanzeige zu haben, um zu sehen, wie lange das wohl noch dauert. Bei cp habe ich jedoch keine derartige Option gefunden.

Das herkömmliche Kopierkommando cp kann das auch nicht. Der gängige Tipp, eine solche Anzeige über das Tool pv zu realisieren (etwa: pv my_big_file > backup/my_big_file), hat den Nachteil, dass dabei die Dateirechte verloren gehen; außerdem geht da immer nur eine Datei. Deshalb empfehlen wir, stattdessen rsync zu benutzen:

rsync -ah --progress quelle ziel

funktioniert sowohl mit Dateien als auch mit ganzen Verzeichnissen und zeigt für jeden einzelnen Kopiervorgang einen Fortschrittsbalken an. Außerdem erkennt es bereits vorhandene Dateien am Zielort und kopiert diese nicht erneut. Am einfachsten definieren Sie sich einen Alias wie

alias cp+='rsync -ah --progress'

in Ihrer ~/.bashrc oder dem Äquivalent Ihrer Shell, um das Kommando immer im Zugriff zu haben. rsync kann noch viel mehr, etwa via ftp, ssh oder viele andere Protokolle übers Netzwerk hinweg kopieren. Details verrät wie üblich der Aufruf man rsync.

Neugierig geworden?

(ju)