Я читаю о перенаправлении данных на /dev/null
, и поэтому я попробовал простой тест:
ping a.b.c # which results in an address not found
Если я попробую это:
ping a.b.c > /dev/null # prints the same error message as the one above
Однако, если я это сделаю:
ping a.b.c > /dev/null 2>&1 # The error message is gone
Последнее решение - это желаемое решение, но что происходит с этим 2>&1
? Мои исследования пока показывают, что 2
представляет stderr
и 1
представляет stdout
. Итак, если я прочитал его таким образом, похоже, что я создаю файл stderr
и перенаправляю stdout
к нему?
Если это так, что делает &
в этой команде?