il est courant d'écrire stdin
sous forme de tiret (-
).
même man cat
mentionne que :
Sans FILE, ou lorsque FILE est -, lit l'entrée standard.
et la page de manuel contient même un exemple illustrant l'utilisation des tirets et des noms de fichiers ordinaires (ce qui est assez proche de votre question d'origine, mais inclut la réponse) :
cat f - g
Output f's contents, then standard input, then g's contents.
-
dit au chat de lire à partir de stdin
. C'est assez courant, beaucoup d'applications lisent à partir de stdin si vous passez -
à eux.
Certaines applications utilisent -
comme stdout
.
Voici un exemple de téléchargement de Blender et au lieu de l'écrire dans un fichier, nous l'écrivons directement dans stdout
et dirigez-le vers tar, qui le développe à la volée pendant le téléchargement.
wget -c https://download.blender.org/source/blender-2.90.1.tar.xz -O - | tar -xzv
Ici le -O -
dit à wget d'écrire directement dans stdout
$ echo 'Text through stdin' | cat - file.txt
-
indique cat
à lire à partir de l'entrée standard, dans ce cas, à partir du tube, c'est-à-dire ce que echo 'Text through stdin'
sorties.