Всеки процес в Linux произвежда три потока от данни, „stdin“, „stdout“ и „stderr“:
- stdin: Взима данни от потребителя чрез клавиатура
- stdout: Показва изход на екрана
- stderr: Показва информация за грешка на екрана
Всеки поток от данни има цифров идентификатор:
Цифров идентификатор | Име |
0 | stdin |
1 | stdout |
2 | stderr |
Нека обясним пренасочването малко повече с подробности:
Как да пренасочим стандартния изход и стандартната грешка в Bash:
За да пренасочим стандартния изход на командата, ще използваме „1“ с оператор за пренасочване, който е по-голям от знака „>“:
$ ls 1> stdout.текстГорната команда ще създаде файл и ще постави стандартния изход на командата “ls” в “stdout.txt ”файл.
За да прочетете „stdout.txt ”файл, използвайте:
$ котка stdout.текст
Можем да пренасочим стандартна грешка и към файл, като използваме командата:
$ cat myfile.txt 2> stderr.текст
За да видите „stderr.txt ”файл, използвайте:
$ котка stderr.текст
Уверете се, че използването на „2“ ще е по-голямо от знака „>“. Тъй като няма „myfile.txt ”в директорията, командата“ cat ”ще даде грешка, която ще бъде добавена в“ stderr.txt ”файл.
Тези стандартни изходи могат да бъдат пренасочени с една команда също, използвайте:
$ ls 1> stdout.txt 2> stderr.текст
Резултатът от командата “ls” ще бъде записан в “stdout.текст”, Но„stderr.текст”Ще остане празно, защото няма да има грешка.
Сега нека направим за „stderr.текст":
$ cat myfile.txt 1> stdout.txt 2> stderr.текст
Използвайте споменатата по-долу команда, за да прочетете „stderr.текст.”
$ котка stderr.текст
И разбира се, „stdout.txt ”ще бъде празно.
Заключение:
Командата на Linux при изпълнение дава стандартна продукция, която може да бъде резултат за успех или грешка. По принцип тези изходи не могат да бъдат пренасочени с помощта на оператори за пренасочване; трябва да използваме конкретни цифрови идентификатори със знака „>“. В това ръководство научихме как да използваме тези цифрови клавиши, за да пренасочим стандартния изход към файл с примери.