Skip to content




Die Kunst der shell-Programmierung, oder ‘Wie cp eine Fortschrittsanzeige bekam…’




Dass Unix ein feines Betriebssystem ist, weiß ich ja nun schon seit gut 20 Jahren zu schätzen... Die Möglichkeiten einer Unix-shell, die sich jemandem, der sich damit auskennt, bieten, überraschen mich aber doch gelegentlich immer noch ein bisschen...

In diesem Beitrag in Lamby's Blog zeigt uns der Autor, wie man den cp-Befehl um einen Fortschrittsbalken a la wget ergänzt.

Für die nicht tiefer Unix-Kundigen eine kurze Erklärung zum Skript:

Es wird der Befehl 'strace' benutzt, um die vom cp-Befehl gemachten Aufrufe von Systemfunktionen zu protokollieren; in diesem Fall werden mit 'strace -ewrite' die Aufrufe der write-Funktion bzw. letztendlich die dabei geschriebenen Bytes mitgezählt und in einem kleinen awk-Skript zu einem Fortschrittsbalken verarbeitet.

Das Skript ist natürlich mehr eine Studie darüber, was man überhaupt so auf der Unix-Kommandozeile anstellen kann als eine echt verwertbare Anwendung, für den Produktivbetrieb ist der von strace generierte Overhead sicher viel zu hoch.

Aber in solchen Fällen stellt sich ja regelmäßig nicht die Frage nach der Sinnhaftigkeit, solche Dinge tut man, weil man es kann... persönliche Skills gepaart mit einem echten (tm) Betriebssystem... ;-)



Kommentar verfassen

Die E-Mail-Adresse wird niemals veröffentlicht oder weitergegeben.