Wie messe oder verfolge ich den Fortschritt eines Befehls in einer GNU-Distribution?

5361
Felipe Alvarez

Wenn ich renne

cp file1 file2 

Ich möchte den Fortschritt verfolgen können. Gibt es einen Befehl, den ich dafür verwenden kann?

rsync --progress 

hat dies, aber gibt es etwas generisches, das für "any" -Befehle verwendet werden kann?

1

3 Antworten auf die Frage

6
sleske

Sie können pvden Fortschritt aller Befehle anzeigen, die Daten über Pipes übertragen können.

Weitere Informationen finden Sie unter http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ . Dies funktioniert jedoch nicht für cp, da es nicht über Pipes funktioniert.

Darüber hinaus gibt es keinen allgemeinen Mechanismus, den ich kenne. Es wäre schwierig, da "Fortschritt" unterschiedliche Befehle für verschiedene Befehle bedeuten kann.

BTW, cphat eine Option, -vdie Dateien beim Kopieren auflistet und Ihnen eine ungefähre Vorstellung von ihrem Fortschritt geben kann.

Bearbeiten:

Die Frage kann jedoch nicht direkt beantwortet werden: Sie können auch einen grafischen Dateimanager verwenden. Die meisten bieten einen schönen Fortschrittsbalken beim Kopieren / Verschieben von Dateien (z. B. beim Konqueror von KDE).

1
overboming

Versuchen Sie, --verbosean Befehle anzuhängen, an denen Sie interessiert sind. In der Regel erhalten Sie dadurch weitere Informationen zum Fortschritt.

0
Shawn Chin

(Vielleicht nicht ganz das, was Sie fragen, da es für keinen Befehl funktioniert, aber) um eine Fortschrittsanzeige für cp zu erhalten, verwende ich manchmal (ab) scp :

scp localhost:/path/to/source_file /path/to/destination 

Sie benötigen das Präfix "localhost:" entweder für die Quelle oder das Ziel, damit scp nicht auf ein Standard- CP zurückgreift .

Dies funktioniert zwar, ist jedoch möglicherweise weniger effizient, da für die Netzwerkübertragung zusätzlicher Aufwand anfällt (obwohl nur die Pseudo-Netzwerk-Schnittstelle "localhost" verwendet wird). Solange die Kopie IO-gebunden ist, wird dies wahrscheinlich keine Rolle spielen. sleske vor 12 Jahren 0
Auf jeden Fall verwendet OP bereits "rsync --progress", um den Fortschritt während eines Kopiervorgangs zu sehen. sleske vor 9 Jahren 0