staging.inyokaproject.org

Frage zum Verständnis von pv (pipe viewer) Befehl

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

Krümelomat

Avatar von Krümelomat

Anmeldungsdatum:
18. Oktober 2010

Beiträge: 1175

pv -L 22000000 ~/1.iso ~/2.iso | cp /dev/stdin /dev/stdout

Was macht der Befehl außer das Terminal verrückt zu machen? Wie müsste man den Befehl umgestalten um 1 auf 2 zu kopieren mit 22MB/s und wie würde man das mit trickle lösen?

Bearbeitet von Thomas_Do:

Nicht aussagekräftigen Titel korrigiert und ursprüngliche Befehlszeile des Titels in den Beitrag eingefügt.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 12281

Krümelomat schrieb:

Was macht der Befehl

Wie wär's denn einfach mal, selbst zu suchen? Dazu brauchst Du noch nicht mal weit gehen → pv.

sh4711

Anmeldungsdatum:
13. Februar 2011

Beiträge: 1201

von.wert schrieb:

... Wie wär's denn einfach mal, selbst zu suchen? Dazu brauchst Du noch nicht mal weit gehen → pv.

Dem kann man nicht mehr viel hinzufügen, außer falls das wider erwartend dich nicht zum Ziel führen sollte dann versuche bitte Alternativ rsync. Hier ist die Funktion "Fortschrittsanzeige" direkt implementiert.

Krümelomat

(Themenstarter)
Avatar von Krümelomat

Anmeldungsdatum:
18. Oktober 2010

Beiträge: 1175

Gute Hinweise danke. Also mein Befehl da rast nur Cyrillisch übers Terminal und der Titel des Terminals ändert sich auch immer wieder in Cyrillisch, sieht sehr ungesund aus. Deswegen, gedacht war Kopieren mit Bandbreitenbegrenzung.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

Der Befehl ist einfach nur Quatsch.

cp kopiert Dateien, das hat in einer | Pipe generell nichts zu suchen, schon gar nicht mit /dev/stdin /dev/stdout...

pv a b ist wie cat a b, beides wird ausgegeben.

$ pv --help
Usage: pv [OPTION] [FILE]...
Concatenate FILE(s), or standard input, to standard output, with monitoring.

Am Ende landet bei deinem Befehl alles im Terminal, und das Terminal kann Binärdaten nicht umgehen.

Um a nach b zu kopieren (b überschreiben) mit Ratelimit kannst du es so probieren:

pv -L 1 a > b

pv schreibt a ins stdout, durch > landet es in b.

Anders als bei cp oder rsync bleiben bei dieser Kopie aber keine Timestamps, Owner usw. erhalten.

Krümelomat

(Themenstarter)
Avatar von Krümelomat

Anmeldungsdatum:
18. Oktober 2010

Beiträge: 1175

Super danke

Antworten |