What does "-" mean in this linux command?

cat, linux

Solution

it is common to write `stdin` as dash (`-`).

even `man cat` mentions that:

With no FILE, or when FILE is -, read standard input.

and the manpage even has an example illustrating the use of dash and ordinary filenames (which is quite close to your original question, but includes the answer):

   cat f - g
          Output f's contents, then standard input, then g's contents.

Problem

I am learning the cat command of linux, and I found this command : ``` $ echo 'Text through stdin' | cat - file.txt ``` What does "-" mean here? If I don't type it , then 'Text through stdin' will not be shown.

Original source

Related problems