#shell #unix
#оболочка #unix
Вопрос:
Я выполняю какой-то учебник и вижу эту команду оболочки:
find / -name foo 2>/dev/null
Что делает последний токен? В частности, 2
? Я понимаю, что >
перенаправление отправит вывод оболочки в файл, но как find
получить только сообщение об ошибке?
Ответ №1:
2>/dev/null
означает перенаправление stderr в /dev/ null. 2
Происходит из файлового дескриптора для stderr; stdin всегда 0
, stdout всегда 1
, и stderr всегда 2
. Источником перенаправления вывода по умолчанию является stdout, поэтому >/dev/null
имеет то же значение, что и 1>/dev/null
.
Кстати, это функция оболочки; она не специфична для find
.