web-dev-qa-db-fra.com

Que signifie "/ dev/null" à la fin des commandes du shell

Quelle est la différence entre les commandes suivantes?

ssh myhostname "command1; command2;...commandn;" 2>/dev/null
ssh myhostname "command1; command2;...commandn;" 
  1. que signifie 2>?

  2. que signifie /dev/null? J'ai lu quelque part que le résultat de la commande sera écrit dans le fichier /dev/null au lieu de la console! Est ce bien? Il me semble étrange que le nom du fichier soit null!

25
Sepehr Samini

2> signifie "redirect-standard-error" vers le fichier donné.

/dev/null est le fichier null. Tout ce qui y est écrit est jeté.

Ensemble, ils signifient "jeter tous les messages d'erreur".

31
Malvolio

1 est stdout. 2 est stderr.

Parfois, vous trouvez 2>&1, cela signifie que vous redirigez stderr vers stdout.

5
Jimmy

'/ dev/null' signifie essentiellement "dans le vide", mis au rebut. Le 2 que vous mentionnez fait référence à une sortie d'erreur, où elle devrait être dirigée.

2
Madbreaks

2> signifie l’envoi d’une erreur type à quelque chose

/ dev/null signifie un bac

1
Ed Heal

1) Pipe tout sur l'erreur standard vers/dev/null (donc ignorez-le et ne l'affichez pas)

2) Dev null ne fait que pointer vers nulle part, rien ne sert à cela, et il disparaît.

0
BrenanK