Терминал петак: Стандардни ток

Добродошли у још један петак ...

Време је да упознате мали део терминала. После много размишљања одлучио сам да направим пост о стандардни потоци; Иако ће то бити површно, мислим да је то нешто што би сви требали знати.

Стандардни ток

Стандардни ток Састоји се од неколико комуникационих канала између корисника и терминала. Ови улазно / излазни „канали“ приказују или прикупљају информације када се изврши наредба.

Кратки дијаграм на стандардним токовима.

Кратки дијаграм на стандардним токовима.

3 И / О везе су: стдин Стандардни улаз, стдоут Стандардни излаз, стдерр Стандардна грешка.

стдин: стандардни улаз

Стандардни унос је начин на који хватамо информације из наредбе било путем цеви, преусмеравања, тастатуре итд. Идентификујемо је са дескриптором датотеке 0.

Дескриптор је показатељ приступа - у овом случају - улазним и излазним каналима. То су инт вредности, обично 0, 1 и 2.

Пример стдина би био:

сортирати <списак

Потребне су све информације које се налазе на листи - у овом случају бројеви написани насумично - и приликом преусмеравања датотеке у команду лс сортирају нумеричку листу по абецеди. У овом примеру заставе су имплицитне.

стдоут: стандардни излаз

Стандардни излаз, како му и само име каже, приказује излаз наредбе преко конзоле. Ако напишемо да ли су све информације које нам приказују на екрану стандардни излаз. Представљен је описом 1.

Сада ћу покушати да стдин и стдоут направим са скриптом написаном на басх, једноставно зато што волим басх хахаха. 🙂

тест.сх

#! / бин / басх ако је [-т 0]; затим ехо "Користите стдоут" елиф [-т 1]; затим ецхо "Користите стдин" елсе ецхо "Брутал еррор" фи

Сада снимак екрана који показује како се користи скрипта. Приликом преусмеравања или употребе цеви са употребом скрипте тест -т да знамо да ли се извршава само стдоут скрипта, а ако није очигледно је стдин.

басх тест.сх лс | басх тест.сх басх тест.сх </ етц / пассвд
Дотична скрипта и њени резултати ...

Дотична скрипта и њени резултати ...

Не заборавите да измените команду и вежбате тако да научите.

стдерр: Стандардна грешка

Стандардна грешка је начин на који програми приказују грешке или дијагностику. Представља га дескриптор 2.

Да бисмо разумели концепт, ово је ситуација: када желимо да сачувамо грешку команде, прво на шта помислимо је да преусмеримо излаз у обичан текст.

лс> инфо.ткт

Ово би функционисало, подаци о наредби ће се чувати у обичној текстуалној датотеци. Али приликом чувања грешке, она је не чува, већ је приказује на екрану и обична текстуална датотека је празна.

Уместо тога, ако користимо 2> да означимо да сачувамо стдерр у датотеци:

лс фоо 2> инфо.ткт

Сада ће информације о грешкама сачувати у текстуалној датотеци.

Већина Граната дозволити да се стдерр и стдоут чувају у једној командној наредби са &> где је Фоо непостојећи директоријум

лс Довнлоадс Фоо &> инфо.ткт

Ова датотека ће садржати информације о грешци приликом покретања лс-а на Фоо-у и имаће списак директорија у одељку Преузимања.

И на крају, по чему је тај познати 2> & 1?

Једноставно, преусмерите стдерр на стдоут. То & у средини> и 1 значи да ће преусмерити на стдоут. Да га нема, било би нешто попут ... „преусмерите грешку у датотеку 1“.

А са овим је могуће преусмерити:

  • стдоут у датотеку
  • стдерр у датотеку
  • стдоут до стдерр
  • стдерр у стдоут
  • стдерр и стдоут у датотеку
  • између осталог

То је то за данашње људе. Читамо и захваљујемо вам што сте навратили. 😀


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   елиотиме3000 дијо

    Занимљиво. Захваљујући вашим упутствима, Басх ми се много више свиђа.

  2.   Куинци Магоо дијо

    Поштовани, занимљиво, међутим, имате грешку у следећем реду:

    „А приликом преусмеравања датотеке на команду лс“, требало би да буде „и када се датотека преусмерава на наредбу сортирања“.

    Поздрав.

  3.   Мигуел дијо

    На почетку текста је грешка, када наведете команду „лс“, требало би да буде „сортирај“:
    «Узмите све информације са списка - у овом случају бројеве написане насумично - и приликом преусмеравања датотеке у команду лс (овде би било сортирање)»

    Поздрав и хвала што делите свој рад

  4.   друм дијо

    Ово је сјајно за црон, где желите да се излаз испразни (/ дев / нулл), али да се грешке чувају у датотекама. Такође, када то радим, обично користим наредбу дате да бих прецизирао када тачно нису успели.

    Басх (сх) има ове алате тако развијене у Уник филозофији „уради једно, и то добро“

  5.   Лоло дијо

    Па нисам ништа сазнао

    1.    Глас дијо

      Хаха па то је прилично добро објашњено, шта нисте разумели?