Channel Header
2398322

"cp"-Kommando: Kopierfortschritt in Linux anzeigen

28.01.2019 | 15:00 Uhr | David Wolski

"cp" ist ein nützlicher Kopierbefehl, gibt aber keinen Aufschluss über den Fortschritt. So bessern Sie nach.

Der Befehl cp kopiert Dateien und Verzeichnisse von A nach B. Bei der Dateiverwaltung auf Linux-Systemen auf der Kommandozeile verrichtet der Befehl seine Arbeit ohne weitere Information über den Fortschritt. Im Falle längerer Kopieraktionen mit großen oder vielen Dateien wäre eine Fortschrittsanzeige nützlich.

Eine gesprächigere Alternative zum althergebrachten Kommando cp, das seinen Ursprung in grauer Unix-Vorzeit hat, ist das Programm Rsync. Zwar ist Rsync als Synchronisationswerkzeug mit Netzwerkfähigkeiten prominent, arbeitet aber genauso gut mit lokalen Dateien, die einfach von einem Verzeichnis in ein anderes kopiert werden sollen. Die Befehlssyntax zum Kopieren einer Datei vom Ordner „~/daten“ im Home-Verzeichnis in den Ordner „~/tmp“ im eigenen Home wäre wie folgt:

rsync -IPa ~/daten/datei ~/tmp  

Dabei zeigt Rsync einen Fortschritt in Prozent an. Zu beachten ist, dass der I/O-Cache des Linux-Kernels die Daten erst zwischenspeichert und dann erst auf den Datenträger schreibt.

Tipp: Datei- und Ordnerrechte in Linux im Überblick

Bei großen Dateien ist die prozentuale Fortschrittsanzeige nicht ganz präzise, da Rsync noch warten muss, bis der Cache entleert ist. Beim Kopieren von ganzen Verzeichnissen macht sich der Vorteil von Rsync aber deutlich bemerkbar: Wird der gesamte Ordnerinhalt von „~/daten“ mit

rsync -IPa ~/daten/* ~/tmp  

ins Zielverzeichnis „~/tmp“ kopiert, dann zeigt Rsync den Fortschritt jeder einzelnen Datei genau an. Der Gesamtfortschritt lässt sich anhand der Angabe „to-chk=“ am Ende jeder Zeile ablesen.

Das dort angegebene Zahlenpaar zeigt die Menge der noch ausstehenden Dateien an, die Schritt für Schritt auf null heruntergezählt wird.

Frühjahrsputz: Platz auf Linux frei machen

PC-WELT Marktplatz

0 Kommentare zu diesem Artikel
2398322