Направо към съдържанието

Shell (компютри)

от Уикипедия, свободната енциклопедия
Шелът tcsh в Ubuntu

Командният интерпретатор (на английски: shell, шел – „обвивка“) е потребителски интерфейс за достъп до услуги на съответната операционна система. Като цяло, обвивките (shell) на операционните системи използват или интерфейс с команден ред, или графичен потребителски интерфейс.

Шел е програма, която приема команди от потребителя, и стартира програмите, асоциирани с тези команди, или с други думи това е софтуерен компонент, който осигурява интерфейс за потребителите.

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

Операционните системи обикновено имат два вида обвивки: от команден ред и графична. Командният интерпретатор от команден ред осигурява интерфейс с команден ред (CLI) на операционната система, а графичният команден интерпретатор осигурява графичен потребителски интерфейс (GUI). И при двете категории основната цел на шела или командния интерпретатор е да извика или да „стартира“ друга програма; въпреки това шеловете често имат и допълнителни възможности, като например показване на съдържанието на директории и файлове.

Първите командни интерпретатори са създадени през 1960-те години. Използвани са на машини като ASR-33 Teletype и VT52. Тогава шеловете са били изцяло текстови, с малки изключения за бизнес програми, които са използвали менюта.

През 1970-те, след навлизането на UNIX системите, шеловете започват да се развиват, появява се т.нар. конвейерно изпълнение на команди (на английски: pipeline), което автоматизира процеса. Тогава в употреба навлизат и скриптовете, които дават големи възможности на потребителя.

Някои от най-известните командни интерпретатори са:

в Windows:

  • cmd.exe (Command Prompt), 4DOS, COMMAND.COM

в UNIX-подобните системи:

други:

  • Google Shell, iSeries QSHELL (IBM)

Текстови (CLI) шелове

[редактиране | редактиране на кода]
Command Prompt, CLI шел в Windows
Bash, широко разпространен Unix шел

Интерфейсът с команден ред (CLI) е шел (обвивка) на операционна система, който използва буквени и цифрови символи от клавиатурата, за да въведе инструкции и данни към операционната система интерактивно.

Първият Unix шел на Кен Томпсън sh[1] е моделиран по шела на операционната система Multics,[2] който от своя страна е моделиран след RUNCOM[3] програмата, която Луи Пузен (Louis Pouzin) представя на екипа на Multics.

Всеки потребител при включването си в системата стартира свое копие на шел в паметта с цел да не пречи на останалите потребители на системата.

Повечето версии на GNU/Linux позволяват на потребителя да променя своя шел с командата chsh или passwd -s. Когато подавате такава команда, Linux търси файла /etc/shells. Само тези команди, които съществуват в този файл, ще бъдат изпълнени.