Конзола, терминал, telnet и шел



Дата22.02.2017
Размер38.55 Kb.
#15515
Конзола, терминал, telnet и шел

  • Конзола

  • Терминал

  • telnet

  • Шел

  • BASH шел

Тази част разглежда няколко основни терминологични понятия, които се в същината на всяка UNIXTM и Linux система. За някои от тях има теоретични спорове, за други няма общоприети дефиниции и те често се използват интуитивно. Не искам текста по-долу да се приема като дефиниционен - това е моето тълкувание на тези понятия.

Конзола

Терминът е исторически. Идва от времето, когато компютрите са заемали огромни помещения и в средата на залата е имало един терминал, на който са излизали системните съобщения и на който можел да седне администратора или да се намеси при определена ситуация. Сега може би най-точната дефиниция е, че на конзолата излизат системните съобщения. Често се казва, че root-а или системния администратор работят на конзолата, обикновено се визира работното място. Това строго погледнато не е много точно, но не може и да се твърди, че е погрешно. Друга съвсем некоректна употреба на понятието е, че когато не използваме графична среда работим на конзола. Съществува и приложение X конзола, която може да прихване конзолата - т.е. системните съобщения.


Съществува още едно понятие т. нар. виртуална конзола - това са (обикновено) шестте терминални прозореца, които превключвате с клавишните комбинации Alt+F1 до F6. Струва ми се, че по-доброто название е виртуални терминали. Обърнете внимание, че системните съобщения излизат на първа "виртуална конзола" дори и никой да не е log-нат в системата.

Терминал

Терминал е интерфейса, който стои между шела (обвивката) и потребителя. Названието също е историческо. Терминал се нарича работното място на потребителя. Това може да бъде нормален компютър или само (много грубо казано) монитор с клавиатура. Много популярни терминали са DASI 300, Tektronix 401X, HP2645A и др. Това като хардуерно понятие. Когато говорим за терминал обаче в общия случай трябва да си представяте не хардуер, а именно програма, която по някакъв начин подпомага шела да комуникира с вас - седящия пред клавиатурата.



Telnet

Командата telnet позволява да остановите връзка с отдалечена система по telnet протокол. След логическо включване към тази система вие можете да използвате ресурсите и така, както и ако стояхте пред неин терминал. Протоколът telnet осигурява двустранната комуникация между двете системи по TCP/IP. Telnet протокола се описва от RFC 854 и RFC 855 (RFC-Request for Comment са стандартизационните документи на всички протоколи върху TCP/IP, т.е. за всичко в Интернет. Публикуват се от консултантската група за създаване на Интернет стандарти Internet Architecture Board - IAB).


Как можем да направим telnet до отдалечена машина? Първото необходимо условие е да бъдем потребители на тази машина, в противен случай не, че няма да можем да направим telnet, но няма да можем да се включим логически към системата, което обезсмисля опитите ни. Второто е да знаем името на машината (или нейният IP адрес). Да допуснем, че сме потребители на машината grex.cyberspace.org, която има IP адрес 204.212.46.130. Всичко, което трябва да направим е следното:

telnet grex.cyberspace.org

или

telnet 204.212.46.130



След осъществяване на връзката ще получите login-промпт, подканящ ви да въведете потребителското си име, а след това и паролата.

Ако нямате account в друга машина можете да пробвате telnet и до своята собствена. Просто напишете

telnet 127.0.0.1

и ще видите познатия ви login-промпт на своята собствена машина. IP адресът 127.0.0.1 е специален - нарича се loopback и сочи към вашата система.


Можете да направите telnet и до порт, различен от стандартния за telnet протокол. Ако например напишете

telnet 127.0.0.1:80

всъщност изпращате заявка към порт 80, където обичайно "подслушва" вашият web-сървър Apache, ако разбира се сте си го инсталирали. Е - той обикновено отказва telnet сесията.

Шел

Ядрото на операционната система комуникира с вас благодарение на обвивката си, английският термин, за която е шел (shell). Това всъщност представлява програма, която се нарича още и команден интерпретатор. Тя чете въведените редове от терминала и изпълнява различни операции в зависимост от това, какво е въведено. Обвивката се опитва да преобразува въвежданите конструкции в инструкции, които ядрото е в състояние да разбере.


Всеки потребител при логическото си включване в системата стартира свое копие на шел в паметта. Това се прави за да може той да работи без да пречи на останалите потребители на системата.
Обвивката възприема всичко до първия интервал като команда, а всичко останало като аргументи на командата. Аргументите също се разделят с интервал.
Повечето версии на Linux позволяват на потребителя да променя своя шел с командата chsh или passwd -s. Когато подавате такава команда Linux търси файла /etc/shells. Само тези команди, които съществуват в този файл ще бъдат изпълнени. Това е направено от съображения за сигурност. Разбира се този файл трябва да не може да бъде редактиран от обикновените потребители.
Можете да проверите кои са възможните обвивки с командата:

chsh -l


Някои версии не поддържат опцията -l на командата chsh и в този случай ще трябва да погледнете направо във файла /etc/shells. Ето съдържанието на един примерен /etc/shells файл:

/bin/bash


/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
/bin/bash2

BASH шел

Шелът по подразбиране в Linux се нарича bash - това е абревиатура от Bourne Again Shell, създаден от Free Software Foundation и както личи от името е имал за база Bourne shell от UNIXTM.


По какво можете да познаете, че bash е стартиран и очаква вашите команди - ако сте root вашият промпт е #, a ako сте "простосмъртен" потребител той е $. Това е само за да ви напомня значимостта на командите, които подавате, но не означава, че root стартира по-различно копие на bash от това на всички останали потребители.
Всяка обвивка (обкръжение) има свои променливи на обкръжението. Техните стойности се установяват от командния интерпретатор при стартирането му и имат различни стойности за различните потребители. Ето ви още една причина за всеки потребител да се стартира отделно копие на интерпретатора. Стойностите на тези променливи могат да се променят в процеса на работа.
Например ако не ви харесва знака $ за промпт достатъчно е да смените променливата на обкръжението PS1.
Каталог: wp-content -> uploads -> 2014
2014 -> Роля на клъстерите за подобряване използването на човешките ресурси в малките и средни предприятия от сектора на информационните технологии
2014 -> Докладна записка от Петър Андреев Киров Кмет на община Елхово
2014 -> Биография: Цироза е траш група от град Монтана. Началото й дават Валери Геров (вокал/китара), Бойко Йорданов и Петър Светлинов (барабани) през 2002година
2014 -> Албум на Първични Счетоводни Документи 01. Фактура
2014 -> Гр. Казанлък Утвърдил
2014 -> 1. Do you live in Madrid? A
2014 -> Брашно – тип „500” седмична справка: средни цени за периода 3 10 септември 2014 Г
2014 -> Права на родителите: Да изискват и получават информация за развитието, възпитанието и здравословното състояние на детето, както и информация за програмите, по които се извършва възпитателно-образователната работа в одз№116


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница