What does “/dev/null” mean at the end of shell com

2020-02-08 13:27发布

问题:

What is the difference between the following commands?

ssh myhostname "command1; command2;...commandn;" 2>/dev/null
ssh myhostname "command1; command2;...commandn;" 
  1. what does 2> mean?

  2. what does /dev/null mean? I read somewhere that result of command will be write to file /dev/null instead of console! Is it right? It seems strange for me that the name of file be null!

回答1:

2> means "redirect standard-error" to the given file.

/dev/null is the null file. Anything written to it is discarded.

Together they mean "throw away any error messages".



回答2:

1 is stdout. 2 is stderr.

Then sometimes you find 2>&1, that means redirecting stderr to stdout.



回答3:

'/dev/null' essentially means "into the void", discarded. The 2 you mention refers to error output, where it should be directed.



回答4:

2> means sending standard error to something

/dev/null means a bin



回答5:

1) Pipe everything on standard error to /dev/null (so ignore it and don't display it)

2) Dev null just points to nowhere, pipe anything to that, and it disappears.



标签: linux shell