Перейти к тексту

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

Вся введенная информация защищена.

  • Закрыть [x]

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

  • Закрыть [x]

Работа в командной оболочке Bash

Введение

Роберт Бруннер , ученый-исследователь NCSA, старший преподаватель астрономии, Университет штата Иллинойс, г. Урбана-Шампейн
Роберт Дж. Бруннер (Robert J. Brunner) занимается научными исследованиями в Национальном центре по приложениям для суперкомпьютеров и является старшим преподавателем астрономии в университете штата Иллинойс, город Урбана-Шампейн. Автор нескольких книг и множества статей и практических руководств на различные темы.

Описание:  В этой статье содержится введение в командную оболочку Bash, использующуюся практически на любой UNIX®-подобной операционной системе. Bash - это зрелая, мощная, простая и бесплатная командная оболочка. В этом руководстве кратко представлена история возникновения командных оболочек, объясняющая некоторые отличия Bash от других командных оболочек UNIX, а также дается обзор основных возможностей Bash. Представлена информация о файловой системе UNIX, основы работы с каталогами и файлами, а также несколько способов настройки поведения и внешнего вида Bash. Наконец, в руководстве рассматривается базовая функциональность Bash по управлению заданиями.

Дата:  26.06.2008
Уровень сложности:  средний

Активность:  24898 просмотров
Комментарии:  

Обзор Bash

Большинство пользователей компьютеров не интересуются, каким образом компьютер выполняет свою работу. Например, когда пользователь посещает Web-страницы, посылает и получает электронные письма, он взаимодействует с компьютером на очень высоком уровне. Программное обеспечение, которое изолирует пользователя от низкоуровневых деталей, известно как операционная система. Операционная система имеет специальный компонент, называемый ядром, который и взаимодействует напрямую с аппаратным обеспечением компьютера.

Для упрощения часто выполняемых на компьютерах задач поверх операционной системы с течением времени надстраивались графические интерфейсы типа Microsoft® Windows®, K Desktop Environment (KDE), GNU Network Object Model Environment (GNOME), Aqua от Apple и X11 от X Consortium. Однако так было не всегда. До того, как оконные системы завоевали популярность, пользователи компьютеров работали в командной строке, напрямую взаимодействуя с ядром при выполнении своей работы. Так как такой путь был труден и часто приводил к ошибкам, было разработано программное обеспечение промежуточного уровня, называемое командной оболочкой, которое упрощало работу по взаимодействию с ядром операционной системы.

Краткая история командных оболочек UNIX

Автором первой широко распространенной командной оболочки был Стивен Борн (Stephen R. Bourne) из AT&T Bell Labs, создавший свою программу в 1974 году и назвавший ее Bourne shell. Эта командная оболочка была написана для того, чтобы упростить взаимодействие пользователя с версией UNIX Seventh Edition от Bell Labs Research. Bourne shell предоставляет язык программирования, позволяющий пользователю контролировать входные и выходные потоки программы и содержащий мощные поисковые возможности.

Примерно в то же время в Университете штата Калифорния в Беркли (University of California, Berkeley) разрабатывалась альтернативная реализация UNIX, получившая известность как BSD UNIX (BSD - Berkeley Software Distribution). В 1978 году Билл Джой (Bill Joy) также в Беркли разработал новую командную оболочку UNIX, названную C Shell (/bin/csh), которая имела дополнительную функциональность, включая контроль заданий, псевдонимы и улучшенные возможности по взаимодействию с пользователем. Вдобавок средства программирования в C Shell были приближены к языку программирования C. Однако некоторые из этих изменений усложнили разработку и поддержку сценариев командной оболочки.

Впоследствии были разработаны и другие командные оболочки, в том числе Korn shell (/bin/ksh) и TC shell (/bin/tcsh) - расширения оригинальных Bourne shell и C Shell соответственно. Несмотря на ряд улучшений, обе эти командные оболочки имели и свои недостатки. Korn shell распространялась изначально с закрытыми исходными кодами, а TC shell сохранила многие сложности при написании сценариев, свойственные C Shell. Вскоре была разработана международная спецификация, известная как POSIX (Portable Operating System Interface) 1003.2, которая указывала, каким образом командная оболочка должна взаимодействовать с пользователем.

Командная оболочка Bash (/bin/bash), название которой является сокращением от Bourne-Again SHell, была первоначально разработана Брайаном Фоксом (Brian Fox) из Free Software Foundation; цель разработки состояла в том, чтобы преодолеть ограничения предыдущих оболочек. Продолжая традиции Bourne shell, Bash предоставляет следующие преимущества:

  • Мощный и простой в использовании язык сценариев.
  • Преимущества интерактивного взаимодействия, заимствованные из семейства командных оболочек C Shell.
  • Свобода распространения и полностью открытые исходные коды.
  • Полная реализация спецификации POSIX 1003.2.

Особенности Bash

Благодаря богатой истории развития Bash предоставляет ряд полезных особенностей, которые улучшают взаимодействие пользователя с командной оболочкой и упрощают разработку сценариев - простых программ, автоматизирующих пользовательские задачи. Bash легко настраивается - как через специальные файлы инициализации, так и через опции настройки. В Таблице 1 представлены некоторые из основных особенностей, которые расширяют возможности взаимодействия с Bash.


Таблица 1. Основные особенности командной оболочки Bash
ОсобенностиОписание
Редактирование в командной строкеПозволяет легко перемещать курсор и редактировать текст команды.
История команд Дает возможность повторить или при необходимости изменить команду, которая была введена в командной строке ранее.
Перенаправление ввода-выводаПозволяет легко указать команде, откуда брать входные данные и куда направлять выходные данные.
ПсевдонимыПозволяет создавать краткие обозначения для однострочных команд.
ФункцииПозволяет создавать сокращения для многострочных команд.

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

2 из 9 | предыдущая | следующая

Комментарии



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=316702
TutorialTitle=Работа в командной оболочке Bash
publish-date=06262008
author1-email=rb@ncsa.uiuc.edu
author1-email-cc=

Теги

Help
Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Используйте ползунок, чтобы отразить больше или меньше тегов.

КнопкаПопулярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere).

Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).

Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Кнопка Популярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere). Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).