30

On linux at least, and I think windows/dos shell too you can use > to "pipe" output into a file. Something like:

cat myfile.txt > mightAsWellCP.txt

What is that piece of syntax sugar called? This is a "pipe": | so what do we call the > and < (and << and >> while were at it.)

5

4 Answers 4

20

I usually refer to all four variations (< << > >>) as a "redirect" when speaking to folks that I know will understand.

0
29

> is used to redirect output.

$ echo "hello" > file.txt

< is used to redirect input.

$ cat < file.txt

Output:

hello

>> is used to append output to the end of the file.

$ echo "world!" >> file.txt

Output:

hello
world!

<< (called "here document") is a file literal or input stream literal.

$ cat << EOF >> file.txt

Output:

>

Here you can type whatever you want and it can be multi-line. It ends when you type EOF. (We used EOF in our example but you can use something else instead.)

> linux
> is
> EOF

Output:

hello
world!
linux
is

<<< (called "here string") is the same as << but takes only one "word" (i.e., string).

$ cat <<< great! >> file.txt

Output:

hello
world!
linux
is
great!

Note that we could have used $ cat <<< great! | tee file.txt instead of $ cat <<< great! >> file.txt, but that would do something different.

8

They're symbols for redirection of input/output.
Quick runthrough on the differences between the redirection syntax commands

5

When speaking a command-line, I usually pronounce the symbols by their function.

  • > "output to"
  • >> "append to"
  • < "input from"
  • | "pipe"

So when reading your example out loud:

cat myfile.txt > mightAsWellCP.txt

I would pronounce as "cat myfile dot T X T output to might as well C P dot T X T".

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .