|
Sleven
Anmeldungsdatum: 12. Dezember 2011
Beiträge: 10
|

12. Dezember 2011 08:32
(zuletzt bearbeitet: 12. Dezember 2011 08:36)
Guten Tag erstmal zusammen, 1. Frage:
Gibt es eine Möglichkeit den Daten-Stream des Befehls "mv" oder "cp" mit Hilfe von "pv" anzeigen zu lassen? Die man bzw. Hilfeseite von "pv" geben leider nicht mehr her als die Optionen. 2. Frage:
ist es möglich mit dem Befehl "pv" mehrere Dateien zu "streamen"? oder verhält der Befehl sich der Befehl in dieser Hinsicht wie "cat" ? Ich danke euch schon mal recht herzlich für eventuelle Antworten! Gruß Sleven
|
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 20838
Wohnort: Lorchhausen im schönen Rheingau
|

12. Dezember 2011 08:37
Sleven schrieb: Guten Tag erstmal zusammen,
Hallo zurück 1. Frage:
Gibt es eine Möglichkeit den Daten-Stream des Befehls "mv" oder "cp" mit Hilfe von "pv" anzeigen zu lassen? Die man bzw. Hilfeseite von "pv" geben leider nicht mehr her als die Optionen.
Nein. pv zeigt Informationen ÜBER die pipe, nicht aber die pipe selbst an. 2. Frage:
ist es möglich mit dem Befehl "pv" mehrere Dateien zu "streamen"?
Ich verstehe nicht ganz, worauf du hinauswillst: pv zeigt eine pipe an. Wenn du am Anfang mehrere Dateien reinstopfst, kommen auch mehrere durch.
|
|
Sleven
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2011
Beiträge: 10
|

12. Dezember 2011 08:55
(zuletzt bearbeitet: 12. Dezember 2011 08:56)
Danke für deine schnelle Antwort! Also zeigt "pv" somit nur die Infos über die eigene Pipe.
Mein Gedanke war eben einen Datenstrom mit z.B. "mv" zu erstellen und die Infos darüber mit pv ausgeben zu lassen. Nur war das ein rein theoretischer Gedanke, von der anzuwendenden Syntax hätte ich in diesem Fall keine Ahnung. Auf die Idee bin ich gekommen als ich diesen Ausschnitt: "
A similar example, transferring a file from another process and passing
the expected size to pv: cat file | pv -s 12345 | nc -w 1 somewhere.com 3000
"
Von: http://manpages.ubuntu.com/manpages/dapper/man1/pv.1.html wobei ich persönlich das nicht mit nc übers Netz nutzen wollte sondern von Raid-Array zu Raid-Array, eben mit "mv" oder "cp". Außerdem weiß ich auch gar nicht, ob das dann mit den Optionen -r und -t bzw. -e funktionieren würde. Die suche über Suchmaschinen ist dazu einfach sehr zäh da "pv" dort meist als "physical volume" verwendet wird. Zu dem zweiten Teil: Ist das dann nicht wie bei "cat", das z.B. dann DATEI1 und DATEI2 in DATEI12 landen? ich habe testweise "pv" so benutzt:
pv -p -e -r -b [DATEI] > /[PFAD]/[NEUERDATEINAME] Gruß Sleven Ps: Sorry für die Formatierung!
|
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 20838
Wohnort: Lorchhausen im schönen Rheingau
|

12. Dezember 2011 09:07
Sleven schrieb: Mein Gedanke war eben einen Datenstrom mit z.B. "mv" zu erstellen und die Infos darüber mit pv ausgeben zu lassen. Nur war das ein rein theoretischer Gedanke, von der anzuwendenden Syntax hätte ich in diesem Fall keine Ahnung.
[…]
wobei ich persönlich das nicht mit nc übers Netz nutzen wollte sondern von Raid-Array zu Raid-Array, eben mit "mv" oder "cp".
und welches Ziel verfolgst du dabei? Zu dem zweiten Teil: Ist das dann nicht wie bei "cat", das z.B. dann DATEI1 und DATEI2 in DATEI12 landen?
cat akzeptiert mehrere Dateien als Input für cat. pv benutzt den input, den es bkommt. Sprich: Stopfst du mit mv ein ganzes Verzeichnis rein, kommt auch ein ganzes Verzeichnis raus. Ps: Sorry für die Formatierung!
Dann benutze doch die Forensyntax -.-
|
|
frostschutz
Anmeldungsdatum: 18. November 2010
Beiträge: 6082
|

12. Dezember 2011 09:13
Wenn du ein Kopiertool suchst das die Geschwindigkeit anzeigt, rsync kann das. cp/mv sollte man besser nicht mit solchen Pipes beglücken...
|
|
Sleven
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2011
Beiträge: 10
|

12. Dezember 2011 11:36
@redknight: Ich verfolge damit kein Ziel, es war eine reine Idee, zu der ich keine Lösung wusste und einfach nichts passendes gefunden habe. Mir reicht mv -v -t absolut aus. Tools wie den Midnightcomander und andere Lösungen fand ich (für mich) einfach nicht befriedigend. Wenn ich dich richtig verstehe müsste ich also die Dateien in einen Ordner packen damit das funktioniert? Könntest du mir eventuell ein Syntaxbeispiel geben wo ich z.B. einen Ordner mit "mv" in in ne Pipe stecke und diese dann mit "pv" auslese? Also nur wenns keine Umstände macht und du was parat hättest. @frostschutz Danke für den Tip mit rsync, war mir nicht bewusst, dass dies die Geschwindigkeit anzeigen kann. Rein aus Interesse, könntest du mir eventuell erklären wieso man cp/mv nicht mit Pipes beglücken sollte?
|
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 20838
Wohnort: Lorchhausen im schönen Rheingau
|

12. Dezember 2011 11:41
Sleven schrieb: Könntest du mir eventuell ein Syntaxbeispiel geben wo ich z.B. einen Ordner mit "mv" in in ne Pipe stecke und diese dann mit "pv" auslese? Also nur wenns keine Umstände macht und du was parat hättest.
Ich weiß nicht mal, ob mv und cp lesen udn schrieben zu stdinout/stdin können (eine Bedingung um mit pipes zu arbeiten). Ich dachte, du hättest das recherchiert, da du danach fragtest Wie Frostschutz auch schon sagte, aus mehreren Gründen nutze ich rsync für derlei aktionen.
|
|
frostschutz
Anmeldungsdatum: 18. November 2010
Beiträge: 6082
|

12. Dezember 2011 12:27
Sleven schrieb: @frostschutz Danke für den Tip mit rsync, war mir nicht bewusst, dass dies die Geschwindigkeit anzeigen kann. Rein aus Interesse, könntest du mir eventuell erklären wieso man cp/mv nicht mit Pipes beglücken sollte?
Weil diese Programme wissen müssen, ob sowohl Lese- als auch Schreibvorgang erfolgreich waren. mv darf z.B. die Quelldatei nur löschen wenn wirklich die Zieldatei erfolgreich und korrekt geschrieben wurde sonst hast du Datenverlust. Nun hat man aber bei einer Pipe über solche Vorgänge keine Kontrolle mehr, sondern zwei unabhängige Prozesse (einer der liest und einer der schreibt). Solange das keine speziellen Programme sind die sich auch anderweitig über ein Protokoll austauschen können geht das dann womöglich einfach schief. rsync macht nun genau dies; ein Kopierprogramm das sich auch über Netzwerk mit dem Zielrechner sehr genau austauscht darüber was jetzt gerade geschrieben/gelesen wird und ob dabei Fehler auftauchen.
|
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7156
Wohnort: Wolfen (S-A)
|

12. Dezember 2011 14:02
(zuletzt bearbeitet: 12. Dezember 2011 14:06)
Hi Sleven, erstmal noch willkommen auf dem Forum ! Sleven schrieb: Gibt es eine Möglichkeit den Daten-Stream des Befehls "mv" oder "cp" mit Hilfe von "pv" anzeigen zu lassen?
Seit wann geben mv und cp denn einen Datenstrom aus ? - die bewegen doch nur Dateien bzw. deren Namen ...? Du müsstest doch nochmal genauer sagen was du willst, denn Dateiinhalte oder Dateinamen anzufassen ist schon ein wesentlicher Unterschied. track
|
|
Sleven
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2011
Beiträge: 10
|

12. Dezember 2011 14:27
Hallo danke für eure Hilfe! Ich merk schon das ich da auf dem Holzweg war. Mir war einfach unklar was pv genau macht. Habe grade eben mal den Artikel Shell/Umleitung überflogen und werd mir den nachher genauer zu Gemüte führen. Ich war der Meinung das mv ein Datenstrom ist, den man einfach "abgreifen" kann, also quasi mit pv. Wie wenn man sich z.B. mit "htop" Sachen auf der Konsole anzeigen lässt und ohne einzugreifen. Man "beobachtet den Datenstrom und liest nur die notwendigen Infos ab, ohne ihn zu verändern - Quasi als stiller Beobachter. Im Nachhinein natürlich kompletter Schwachsinn, aber wenn man sich mal festgefahren hat, dann... Jetzt muss ich aber noch was fragen auch wenns nicht mehr so ganz zum Topic passt: Wie funktioniert dann das kopieren auf einem Desktop, bzw. wie gibt z.B. Gnome die Statusanzeige aus beim kopieren? Vielen Dank nochmal und beste Grüße Sleven
|
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 20838
Wohnort: Lorchhausen im schönen Rheingau
|

12. Dezember 2011 14:45
track schrieb: Gibt es eine Möglichkeit den Daten-Stream des Befehls "mv" oder "cp" mit Hilfe von "pv" anzeigen zu lassen?
Seit wann geben mv und cp denn einen Datenstrom aus ? - die bewegen doch nur Dateien bzw. deren Namen ...?
Den Teil hab ich nicht mal bedacht. Du hast Recht, imFalle von mv auf einer partitioon werden ja nur die inode-Informationen geändert, wenn ich mcih recht entsinne.
|
|
frostschutz
Anmeldungsdatum: 18. November 2010
Beiträge: 6082
|

12. Dezember 2011 14:56
Sleven schrieb: Wie funktioniert dann das kopieren auf einem Desktop, bzw. wie gibt z.B. Gnome die Statusanzeige aus beim kopieren?
Zum einen kann man schon herausfinden auf was und wo ein Prozess gerade zugreift (lsof -o). Zum anderen verwenden die GUI Programme wahrscheinlich nicht cp/mv sondern schieben die Daten selbst bzw. es gibt eine passende Library dafür.
|
|
Sleven
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2011
Beiträge: 10
|

12. Dezember 2011 19:24
Guten Abend, ich wollte mich noch bei euch beiden für die schnellen und kompetenten Antworten bedanken: DANKE! ![:[]](//media-cdn.ubuntu-de.org/wiki/attachments/02/47/grin.png) Grüße Sleven!
|