Que signifie 2 / dev / null?

145

Je souhaite une ou deux descriptions de ligne à propos de la ligne de commande suivante:

grep -i 'abc' content 2>/dev/null 
    
posée Naive 26.09.2013 - 10:21
la source

4 réponses

211

Le & gt; L'opérateur redirige généralement la sortie vers un fichier, mais il peut s'agir d'un périphérique. Vous pouvez également utiliser & gt; & gt; à ajouter.

Si vous ne spécifiez pas de numéro, le flux de sortie standard est supposé, mais vous pouvez également rediriger les erreurs

> file redirige stdout vers un fichier
1> file redirige stdout vers un fichier
2> file redirige stderr vers un fichier

&> file est le périphérique nul qui prend toutes les entrées souhaitées et les jette. Il peut être utilisé pour supprimer toute sortie.

    
réponse donnée Warren Hill 26.09.2013 - 10:38
la source
16

En bref, il redirige stderr (fd 2) vers le trou noir (ignore la sortie de la commande).

Un cas d'utilisation plus courant

command > /dev/null 2>&1 &

Exécuter la commande en arrière-plan, ignorer stdout et stderr

command >> /path/to/log 2>&1 &

Exécuter la commande et rediriger stdout et stderr vers le fichier journal

    
réponse donnée Terry Wang 26.09.2013 - 10:32
la source
5

/dev/null traité comme un trou noir dans Linux / Unix, vous pouvez donc y mettre tout cela mais à la fin, vous ne pourrez pas récupérer ceci de /dev/null .

Plus loin, 2> signifie que vous redirigez [i.e. > ] le stderr [c'est-à-dire 2 ] dans le trou noir [c.-à-d. /dev/null ]

Votre commande est la suivante:

grep -i 'abc' content 2>/dev/null 

N'oubliez pas de ne pas finir avec une autre barre oblique comme celle-ci - 2>/dev/null/

    
réponse donnée Indrajeet Gour 11.06.2015 - 12:57
la source
-3

Cette commande grep a une syntaxe incorrecte, elle devrait ressembler à

grep -ri content /support/security/bulletins/ 2> /dev/null

et les 2 & gt; / dev / null signifie rediriger toutes les erreurs générées par cette commande vers / dev / null, c'est-à-dire les supprimer, et ne pas les afficher à l'écran (ou où le descripteur de fichier d'erreur standard pointe actuellement). / dev / null est un fichier qui, lorsque vous y écrivez des données, ne va nulle part.

    
réponse donnée sivann 26.09.2013 - 10:31
la source

Lire d'autres questions sur les étiquettes