Сваки процес у Линуку производи три тока података, „стдин“, „стдоут“ и „стдерр“:
- стдин: Узима унос од корисника путем тастатуре
- стдоут: Приказује излаз на екрану
- стдерр: Приказује информације о грешци на екрану
Сваки ток података има нумерички ИД:
Нумерички Ид | Име |
0 | стдин |
1 | стдоут |
2 | стдерр |
Објаснимо преусмеравање мало детаљније:
Како преусмерити стандардни излаз и стандардну грешку у Басху:
Да бисмо преусмерили стандардни излаз наредбе, користићемо „1“ са оператором преусмеравања који је већи од знака „>“:
$ лс 1> стдоут.тктГорња наредба ће створити датотеку и поставити стандардни излаз наредбе „лс“ у „стдоут“.ткт ”.
Да бисте прочитали „стдоут.ткт ”, користите:
$ мачка стдоут.ткт
Стандардну грешку такође можемо преусмерити на датотеку помоћу команде:
$ мачка мој фајл.ткт 2> стдерр.ткт
Да бисте погледали „стдерр.ткт ”, користите:
$ мачка стдерр.ткт
Уверите се да ће употреба „2“ бити већа од знака „>“. Пошто не постоји „мифиле.ткт “у директоријуму, наредба„ мачка “ће дати грешку која ће бити додата у„ стдерр.ткт ”.
Ови стандардни излази се такође могу преусмерити једном командом, користите:
$ лс 1> стдоут.ткт 2> стдерр.ткт
Излаз наредбе „лс“ биће записан у „стдоут.ткт”, Али„стдерр.ткт”Остаће празно јер не би било грешке.
Сада урадимо за „стдерр.ткт ”:
$ мачка мој фајл.ткт 1> стдоут.ткт 2> стдерр.ткт
Користите доле споменуту команду за читање „стдерр.ткт.”
$ мачка стдерр.ткт
И наравно, „стдоут.ткт ”биће празно.
Закључак:
Линук наредба након извршавања даје стандардни излаз који може бити излаз за успјех или излаз за грешку. Генерално, ови излази се не могу преусмерити помоћу оператора преусмеравања; морамо да користимо одређене нумеричке ИД-ове са знаком „>“. У овом водичу смо научили како да користимо ове нумеричке тастере за преусмеравање стандардних излаза у датотеку са примерима.