Gzip -c über Pipe-Angelegenheit?

Gzip -c über Pipe-Angelegenheit?

Ich habe einmal 2 Arten des Schreibens gesehen: mit und ohne-c

Ist die Ausgabe in den folgenden beiden Fällen dieselbe und ist die Geschwindigkeit gleich?

mysqldump -u root dbname | gzip > test.sql
mysqldump -u root dbname | gzip -c > test.sql

Was ist mit durchgehenden Rohren?

mysqldump -u root dbname | gzip | anotherprogram

Danke für die Klarstellung

Antwort1

Entsprechend man gzip:
"Wenn keine Dateien angegeben sind oder ein Dateiname "-" ist, wird die Standardeingabe auf die Standardausgabe komprimiert."

In all Ihren Fällen leiten Sie den Quelldatenstrom an gzipSTDIN weiter, ohne den zu komprimierenden Inhalt als Quelldatei anzugeben. In diesen Fällen gzipwird der komprimierte Datenstrom standardmäßig an STDOUT gesendet, was -cdie Option nutzlos/überflüssig macht.

Die -cOption ist nützlich, wenn Sie in diesem Fall gzipso aufrufen gzip -c sourceFile, anstatt
Quelldatei komprimieren + Erweiterung GZ hinzufügen + Quelldatei löschen
es wird komprimierten Stream an STDOUT senden und nicht löschenQuelldatei.
Zum Beispiel:

gzip -c sourceFile | anotherProgram

verwandte Informationen