В Linux каждый процесс создает три потока данных: «stdin», «stdout» и «stderr»:
- стандартный ввод: Принимает ввод от пользователя с клавиатуры
- стандартный вывод: Выводит результат на экран
- stderr: Показывает информацию об ошибке на экране
Каждый поток данных имеет числовой идентификатор:
Числовой идентификатор | Имя |
0 | стандартный ввод |
1 | стандартный вывод |
2 | stderr |
Давайте подробнее объясним перенаправление:
Как перенаправить стандартный вывод и стандартную ошибку в Bash:
Чтобы перенаправить стандартный вывод команды, мы будем использовать «1» с оператором перенаправления, который больше знака «>»:
$ ls 1> стандартный вывод.текстПриведенная выше команда создаст файл и поместит стандартный вывод команды «ls» в «stdout».txt »файл.
Чтобы прочитать «stdout.txt », используйте:
$ cat stdout.текст
Мы также можем перенаправить стандартную ошибку в файл с помощью команды:
$ cat myfile.txt 2> stderr.текст
Для просмотра «stderr.txt », используйте:
$ cat stderr.текст
Убедитесь, что цифра «2» больше, чем знак «>». Поскольку нет «myfile.txt »в каталоге, команда« cat »выдаст ошибку, которая будет добавлена в« stderr.txt »файл.
Эти стандартные выходные данные также можно перенаправить с помощью одной команды, используйте:
$ ls 1> стандартный вывод.txt 2> stderr.текст
Вывод команды «ls» будет записан в поле «стандартный вывод.текст"Файл, но"stderr.текст»Останется пустым, потому что ошибки не будет.
Теперь займемся «stderr.текст":
$ cat myfile.txt 1> стандартный вывод.txt 2> stderr.текст
Используйте указанную ниже команду, чтобы прочитать «stderr.текст.”
$ cat stderr.текст
И, конечно же, «stdout.txt »будет пустым.
Заключение:
Команда Linux при выполнении дает стандартный вывод, который может быть успешным или ошибочным. Как правило, эти выходные данные нельзя перенаправить с помощью операторов перенаправления; нам нужно использовать определенные числовые идентификаторы со знаком «>». В этом руководстве мы узнали, как использовать эти цифровые клавиши для перенаправления стандартного вывода в файл с примерами.