es ist üblich stdin
zu schreiben als Bindestrich (-
).
sogar man cat
erwähnt, dass:
Ohne DATEI oder wenn DATEI - ist, lesen Sie die Standardeingabe.
und die Manpage enthält sogar ein Beispiel, das die Verwendung von Bindestrichen und gewöhnlichen Dateinamen veranschaulicht (was Ihrer ursprünglichen Frage ziemlich nahe kommt, aber die Antwort enthält):
cat f - g
Output f's contents, then standard input, then g's contents.
-
weist die Katze an, ab stdin
zu lesen . Dies ist ziemlich üblich, viele Apps lesen von stdin, wenn Sie -
übergeben zu ihnen.
Einige Apps verwenden -
als stdout
.
Hier ist ein Beispiel für das Herunterladen von Blender und anstatt es in eine Datei zu schreiben, schreiben wir es direkt in stdout
und leiten Sie es an tar weiter, das es während des Downloads im Handumdrehen erweitert.
wget -c https://download.blender.org/source/blender-2.90.1.tar.xz -O - | tar -xzv
Hier die -O -
weist wget an, direkt in stdout
zu schreiben
$ echo 'Text through stdin' | cat - file.txt
-
sagt cat
von der Standardeingabe zu lesen, in diesem Fall von der Pipe, also was echo 'Text through stdin'
Ausgänge.