Укажите все командные интерпретаторы linux

Запуск редактора VI

Для уяснения всех концепций редактора Vi запустим его и создадим новый файл по имени test:

Колонка символов ~ обозначает пустые строки, курсор находится в начале первой строки.

Редактор Vi сейчас находится в командном режиме. Нажмём клавишу i, и редактор перейдёт в режим ввода текста. Теперь вводим, например, следующий текст:

Многие пользователи предпочитают наделенный сказками редактор Emacs.

Введите любое количество строк, после каждой нажимая клавишу Enter. Исправлять опечатки можно с помощью клавиши Backspace. Для выхода из режима ввода и возвращения в командный режим нажмём клавишу Esc. Команда a начинает вставлять текст после текущего положения курсора, а не прямо в текущую. Для введения текста со следующей строки, используем команду o. Нажмём эту клавишу и введём одну-две строки текста.

В командном режиме каждое нажатие клавиши x удаляет символ, на который указывает курсор. Можно удалять целые строки командой dd (т. е. нажав клавишу d два раза подряд). Для удаления слова, на которое показывает курсор, можно использовать команду dw.

Команда 0 (клавиша ноль) перемещает курсор на начало текущей строки, а команда $ перемещает курсор в её конец.Для перемещения курсора в конец файла, используется команда G, а команда 10G, например, поместит курсор на строку с номером 10. Для выхода из редактора Vi без сохранения изменений, сделанных в файле, используется команда :q! Для выхода из редактора Vi с сохранением сделанных изменений используется команда :wq.Чтобы сохранить файл, но не выходить из редактора Vi, используется команда :w.

9. Командные интерпретаторы Linux

В большинстве операционных систем Linux, bash является принятым по умолчанию интерпретатором командной строки. Для определения текущего интерпретатора :

$ echo $SHELL /bin/bash

Командный интерпретатор – специальная программа, которая запрашивает у пользователя команды и выполняет их(удаление, переименование файла, печать документа и т.п.)

Bash — это командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом. Как и все Unix-оболочки, он поддерживает автодополнение имён файлов и директорий, подстановку вывода результата команд, переменные, контроль за порядком выполнения, операторы ветвления и цикла.

Читайте также:  Вывести значение переменной линукс

Интерпретатор bash содержит возможности, интерпретаторов sh и ksh во времена ранних версий UNIX, а также ряд возможностей интерпретатора csh.( Ключевые слова, синтаксис и другие основные особенности языка)

Tcsh (и более раннего интерпретатора csh)-Базировался на коде командного интерпретатора шестой версии unix. Скриптовый язык не уступает bash по мощности, но отличается синтаксисом

Командный интерпретатор tcsh является реализацией интерпретатора Сshell (csh) с открытым исходным кодом. Многие возможности csh, например редактирование командной строки и методы управления историей команд, были реализованы в интерпретаторе tcsh и в других командных интерпретаторах..

Интерпретатор ash является облегченной версией интерпретатора Berkeley UNIX sh. Он не содержит многих базовых функций и не предоставляет таких возможностей, как история команд. Интерпретатор ash хорошо подходит для применения во встраиваемых системах с ограниченными системными ресурсами.

Интерпретатор zsh является еще одним клоном интерпретатора sh. Он соответствует требованиям стандарта POSIX (как и bash), но обладает другими возможностями, включая проверку орфографии и иной подход к редактированию командной строки

ksh — Имеет полную обратную совместимость с Sh и включает в себя возможности csh. Является стандартом де-факто и используется по умолчанию в некоторых Unix-системах. Имеет развитую систему горячих клавиш.

Источник

Типы доступных командных интерпретаторов в ос unix. Как можно узнать какой командный интерпретатор используется в данный момент?

ОС Linux использует несколько различных видов интерпретаторов. Наиболее распространенными среди них являются:

  • sh. Bourne Shell. Прообраз командных интерпретаторов сегодняшнего дня. В современных Linux-системах sh представляет собой символическую ссылку на файл bash;
  • bash. Bourne-Again SHell. Основной командный интерпретатор ОС Linux. Представляет собой развитие ash и sh. Поддерживает богатый язык написания скриптов, удобный интерфейс для редактирования командной строки, автопродолжение команд и множество других полезных возможностей;
  • tcsh. C Shell. Расширенная версия интерпретатора C Shell, использующегося в BSD-системах. Поддерживает функцию автозавершения текста и расширенные возможности редактирования;
  • zsh. Очень развитый командный интерпретатор, объединяющий в себе возможности csh, bash с дополнительными, такими как: улучшенная поддержка автопродолжения, более развитые возможности редактирования, расширенные файловые шаблоны и ряд других;
  • nash. Not A SHell. Предельно облегченная оболочка, предназначенная для интерпретации сценариев в linuxrc файлах, при загрузке с виртуального диска initrd. Не позволяет работать пользователю в интерактивном режиме.

Командным интерпретатором, или командной оболочкой (shell), называется процесс, который вводит команды с экрана и выполняет их, а также соответствующий ему исполняемый файл (и программа).

Командный интерпретатор также может выполнять команды и из файла — такие файлы называют скриптами.

Есть около полудюжины распространённых командных интерпретаторов, каждый пользователь может выбрать себе по вкусу. Любимый командный интерпретатор каждого пользователя находится в файле /etc/passwd, а изменить его можно командой chsh (change shell). Список допустимых командных интерпретаторов находится в файле/etc/shells, и выбирать свой можно только из этого списка. Это сделано потому, что если пользователь сделает командным интерпретатором неправильный файл, он больше не сможет работать в системе, не сможет и изменить командный интерпретатор обратно.

Читайте также:  Linux изменить тип файла

Первый комадный интерпретатор назывался sh (Bourne shell — по имени своего создателя, или просто shell) и появился в районе 1978 года. Его продвинутая версия называется bash (Bourne again shell) и используется чаще, чем старая версия.

Командный интерпретатор csh (C shell) может вычислять выражения (особенно арифметические) с Си-подобным синтаксисом, отсюда название. Его продвинутая версия называется tcsh и отличается прежде всего развитыми средствами редакции командной строки.

Кроме того, существуют ksh (Korn shell) и zsh.

Командные интерпретаторы находятся в директории /bin.

Полную инструкцию к любому командному интерпретатору можно посмотреть командой man (а именно man sh, man csh и т. д.)

Терминал — это устройство ввода-вывода, его основные функции заключаются в отображении и вводе данных. Устройство со значительным объёмом обработки данных называют smart terminal или «толстый клиент» (англ. fat client). Терминал, сильно зависящий от своей хост-машины, на которой выполняются основные вычисления, называют тонким клиентом (англ. thin client).

В большинстве современных компьютеров консолью является комплект устройств интерактивного ввода-вывода, присоединённых к компьютеру непосредственно (не через сеть): дисплей, клавиатура, мышь. Консольный сеанс в многопользовательских операционных системах — это сеанс, осуществляемый человеком, сидящим непосредственно перед компьютером (в противоположность сеансу удалённого доступа, например через telnet, ssh, X Window System, RDP и т. п.). Данная трактовка термина консоль безотносительна к типу пользовательского интерфейса: текстовому (CUI) или графическому (GUI).

Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).

Документации по Линукс очень много. В этом ее сила и ее слабость. На любом ресурсе в Интернете вы найдете раздел со статьями и справочными материалами. В самой системе также много информации по различным командам. Именно в этом слабость справочной системы Linux: для того чтобы что-то найти, нужно обладать умением искать.

Источник

Как определить и изменить командную оболочку (shell) в Linux

Как изменить оболочку Shell в Linux

Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.

Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.

Читайте также:  Графический интерфейс linux wsl

Оболочки Linux

Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.

Существуют разные оболочки Linux. Можно отметить:

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

Как определить текущую командую оболочку

Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.

Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.

Способ 1

Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:

Из вывода команды, мы видим, что используется оболочка bash.

Способ 2

Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.

Способ 3

Определим, работающий процесс оболочки командой ps.

ps -p $$ PID TTY TIME CMD 10792 pts/3 00:00:00 bash

Определить текущую оболочку Shell в Linux

Как посмотреть список оболочек, доступных в системе

Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells

Выведем содержимое файла /etc/shells , для этого выполняем команду:

cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash

Список командных оболочек Linux

Как временно переключиться на другую оболочку

Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.

Например, переключимся на оболочку sh. Выполняем команду:

Переключиться на другую оболочку в Linux

Как изменить оболочку

Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).

Чтобы изменить оболочку текущего пользователя нужно выполнить команду:

В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).

Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):

После этого нужно выйти и снова войти в систему.

Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:

Заключение

Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.

Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:

Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду

Источник

Оцените статью
Adblock
detector