Докато използвате Linux, може да срещнете препратки към „стандартен I/O“ или „стандартен вход“, „стандартен изход“ и „стандартна грешка“. Какво означават тези термини?

Стандартен вход

Стандартният вход е термин за входа, който получава базирана на команда програма. При интерактивна употреба обикновено е от клавиатурата, но както ще видите по-късно, може да идва и от файл.

Докато клавиатурата в наши дни обикновено се включва директно в машината, когато текстовите терминали бяха повече общ, стандартен вход беше взет от клавиатурата на терминала, свързана към централен миникомпютър или основна рамка. Съвременните Linux системи използват терминални емулатори или системната конзола за стандартен вход.

Стандартен изход

Стандартният изход, подобно на стандартния вход, е мястото, където програмата ще изпрати своя текстов изход. Отново, това обикновено е емулатор на терминали в съвременните системи, но в миналото беше и на физически терминали, или с CRT екрани, или отпечатани на хартия с помощта на телетайпи.

instagram viewer

Телетайп терминалите бяха по-често срещани, когато предшественикът на Linux, Unix, се разработваше в Bell Labs в края на 60-те и началото на 1970-те.

Свързани: Защо командите на Linux са толкова кратки? Историята на Linux командите

Подобно на стандартния вход, можете също да пренасочите стандартния изход към файл.

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

Стандартната грешка обикновено се използва за всички съобщения за грешка, които програмата може да генерира. Както при стандартния изход, той обикновено се показва на екрана, но може също да бъде пренасочен към файл или към блоково устройство като /dev/null.

Как да пренасочите вход и изход в Linux

Една от най-мощните характеристики на системите Linux и Unix е възможността за пренасочване на вход и изход към файлове и други програми.

Най-широко използваният метод е изпращането на изхода от една команда към друга или „тръбопровод“. За Например, за да видите колко Linux команди имат "sh" в името си, можете да прехвърлите изхода на командата ls с grep.

ls /bin | grep 'sh'

Да се пренасочва изхода от команда към файл, използвай > оператор. Например, за да изпратите изхода на командата ls в име на файл списък с файлове:

ls > списък с файлове

В >> оператор добавя изхода към съществуващ файл или го създава, ако не съществува. За да предотвратите случайно презаписване на файл, можете да зададете опцията "noclobber" в Bash:

задайте noclobber

Можете също така да накарате програма да вземе вход от файл с < оператор. Програмата cat може да отпечата съдържанието на файл, като вземе вход от файла и изпрати изхода на стандартен изход.

cat < файл

Разбира се, можете просто да използвате cat и да посочите пътя на файла като аргумент, но това е само пример.

Можете да пренасочите стандартна грешка с помощта на файлов дескриптор или число, което означава една от формите на стандартен I/0. При файловите дескриптори 0 е стандартен вход, 1 е стандартен изход, а 2 е стандартна грешка. Синтаксисът в Bash е [дескриптор на файл]>. Полезно е да пренасочите стандартната грешка към /dev/null за да се отървете от грешки:

linux_command 2> /dev/null

Можете да пренасочите едновременно стандартен изход и вход с &>, което е полезно, ако трябва да изпратите имейл или публикация във форума, описваща проблем, който имате с програма:

linux_command &> файл

Стандартният I/O работи навсякъде

Дори и с графичните среди, налични днес, стандартният I/O остава важен, защото все още е универсалният интерфейс, от настолен компютър до сървър до мобилен телефон, базиран на ASCII текст.

Какво е ASCII текст и как се използва?

ASCII текстът изглежда загадъчен, но има много приложения в интернет.

Прочетете Следващото

ДялTweetелектронна поща
Свързани теми
  • Linux
  • Обяснена технология
  • Linux Elementary
  • Linux Bash Shell
За автора
Дейвид Делони (публикувани 62 статии)

Дейвид е писател на свободна практика, базиран в северозападната част на Тихия океан, но първоначално произхожда от района на залива. Той е ентусиаст на технологиите от детството. Интересите на Дейвид включват четене, гледане на качествени телевизионни предавания и филми, ретро игри и събиране на записи.

Още от Дейвид Делони

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате