
Лабораторная работа
Работа с терминалом и командной строкой.
Цель: познакомиться с интерфейсом командной строки в ОС Linux, исследовать возможности управления операционной системой по средствам языка команд.
1. Теоретические сведения
Консоль и виртуальные терминалы
Когда создавалась операционная система UNIX, компьютеры были большими (мейнфреймы) и пользователи работали на них через множество последовательных интерфейсов для подключения удаленных терминалов. Терминал — это устройство, которое предназначено для взаимодействия пользователя с компьютером и состоит из монитора и клавиатуры. У мейнфреймов имелся особый терминал, который предназначался для системного администратора и назывался консолью. Консоль обычно подсоединялась к компьютеру не по последовательному интерфейсу, а через отдельные разъемы (иногда в качестве устройства вывода в ее состав вместо монитора входило печатающее устройство).
Поскольку в UNIX-системах обычно соблюдаются традиции, клавиатура и монитор персонального компьютера ведут себя так же, как ранее консоль. Преимущество такого решения состоит в том, что все старые программы, создававшиеся для администраторов UNIX, без проблем работают и на новом типе системной консоли.
Но, кроме консоли, Linux позволяет подключать к компьютеру и удаленные терминалы и, более того, обеспечивает возможность работы с несколькими виртуальными терминалами с одной консоли. Для переключения между виртуальными терминалами используются комбинации <Ctrl>+<Alt>+<F1> — <Ctrl>+<Alt>+<F6>. Работа в новом терминале начинается с ввода имени пользователя, но это не является возвратом к началу работы с системой. Здесь вы можете зарегистрироваться и под другим именем. По умолчанию Linux открывает при запуске 6 параллельных сеансов работы (виртуальных терминалов). Обычно седьмая виртуальная консоль используется для работы с системой Х Window, обеспечивающей графический интерфейс пользователя (для перехода нажать <Ctrl>+<Alt>+<F7>). Если вы хотите завершить сеанс работы с системой в одном из терминалов, вы можете сделать это нажатием комбинации клавиш <Ctrl>+<D>. Это не приведет ни к остановке работы компьютера, ни к перезагрузке системы. Можно завершить сеанс работы с помощью одной из команд logout или exit.
Оболочка
Командный процессор, также известный как оболочка (shell) — неотъемлемая часть операционной системы. Это программа, которая осуществляет все общение пользователя с компьютером посредством текстового интерфейса. Именно оболочка воспринимает все команды, вводимые пользователем с клавиатуры в командной строке, и организует исполнение этих команд. Название команды соответствует имени исполняемого файла. Каждый раз, когда очередной пользователь входит в систему в текстовом режиме, команда login запускает для него командный процессор — оболочку.
В графической среде доступ к оболочке можно получить из главного меню среды, например, в меню GNOME выбрать Приложения—Стандартные—Терминал. При этом открывается окно эмулятора терминала.
Набор имени команды производится с клавиатуры после появления символа приглашения. По умолчанию, это символ # для пользователя с именем ''root'' (этот пользователь является полным хозяином системы, то есть имеет неограниченный доступ к ее ресурсам, может заводить и удалять других пользователей, останавливать систему и т. д.), для остальных пользователей — $. В приглашении может быть указано имя пользователя и текущий каталог (по умолчанию – домашний).
Если команда, которую надо выполнить, уже выполнялась ранее, то можно воспользоваться историей команд для повторного ее набора в командной строке. Переход к предыдущей команде в списке выполненных команд осуществляется клавишей <> (стрелка вверх).
Оболочка bash имеет встроенную подпрограмму, предназначенную для облегчения ввода команд в командной строке. Эта подпрограмма вызывается по клавише <Tab> после того, как вы уже ввели некоторое число символов. Если эти символы являются началом названия одной из стандартных команд, которые известны оболочке, то возможны два варианта реакции оболочки на нажатие клавиши <Tab>. Если по введенным символам команда определяется однозначно, оболочка просто добавляет окончание команды в командную строку. Если однозначно восстановить имя команды по введенным символам невозможно, то выдается список возможных вариантов продолжения для того, чтобы пользователь мог ввести еще несколько символов, позволяющих однозначно завершить ввод команды нажатием клавиши <Tab>.