Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по UNIX / UNIX1.doc
Скачиваний:
49
Добавлен:
10.05.2014
Размер:
103.42 Кб
Скачать

7

=====================================================

ЛАБОРАТОРНАЯ РАБОТА № 1 (время выполнения -- 3 часа)

Тема: ”Введение в shell

1. Введение в shell

Shell – это интерпретатор команд (командный процессор), осуществляющий функции интерфейса между пользователем и ядром Unix. Solaris предлагает три основных командных процессора:

  1. Принятый по умолчанию командный процессор Bourne -- /sbin/sh

  2. Командный процессор C -- /bin/csh

  3. Командный процессор Korn -- ./bin/ksh

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

  1. J-оболочка -- /sbin/jsh

  2. Restricted Korn l -- /usr/bin/rsh

  3. T-оболочка -- /usr/bin/tcsh

  4. GNU Bourne Again -- /usr/bin/bash

  5. Z-оболочка – usr/bin/zsh

Выбор командного процессора является вопросом персональных предпочтений.

2. Запуск команд

Любая команда в Unix состоит из имени запускаемой программы (команды), опций (ключей) и аргументов, передаваемых программе. Разделителем в командной строке является пробелы или знаки табуляции.

Пример

$ /bin/ping –t 10 192.168.2.13

аргумент

опция

команда

приглашение shell

Если при запуске программы не указывается путь к исполняемому файлу, то ОС последовательно просматривает каталоги, задаваемые в переменной PATH. Если в просматриваемом каталоге находится программа с таким именем, то она запускается на выполнение. Текущий рабочий каталог при поиске программ не просматривается, только если он не задан в переменной PATH.

! В целях безопасности администратору не рекомендуется добавлять текущий каталог и домашние (личные) каталоги пользователя в переменную PATH.

Примеры

Запуск программы с указанием полного пути

$ /usr/local/bin/my_program

Запуск программы из вышестоящего (родительского) каталога

$ ../local/bin/my_program

Запуск программы из текущего каталога

$ ./my_program

3. Специальные символы в shell

Некоторые символы в shell имеют специальное значение.

3.1. Шаблоны генерации имен файлов

? (вопросительный знак) соответствует любому одному символу, кроме первой точки;

[ ] (квадратные скобки) определяют группу символов (выбирается один символ из группы);

- (знак “минус”) определяет диапазон допустимых символов;

! (восклицательный знак) отвергает следующую за ним группу символов;

* (символ “звездочка”) соответствует любому количеству символов, кроме первой точки.

3.2. Символы перенаправления ввода/вывода

< - перенаправление ввода;

>, >> - перенаправление вывода;

2>, 2>> - перенаправление сообщений об ошибках;

| - конвейер.

3.3. Симолы подстановки

$имя_переменноq - подстановка переменных;

$(команда) или `команда` - подстановка команд;

~ - тильда-подстановка.

4. Поиск

Для быстрого поиска файлов и каталогов используется команда whereis, для более глубокого – команда find (поиск файлов, удовлетворяющих заданным требованиям;).

5. Текстовый редактор vi

Текстовый редактор vi является универсальным редактором, присутствующим в любом Unix. Кроме редактирования текстовых файлов, редактор vi может использоваться для редактирования командной строки.

Редактор vi имеет 3 режима работы (см.рисунок).

Вход в редактор vi

vi имя_файла

Открыть сеанс редактирования файла

vi

Открыть сеанс

Выход из vi

ZZ

Выйти без сохранения

:q!

Выйти без сохранения

:wq

Сохранить изменения в файле и выйти

Знаком ”~” (тильда) в первой позиции помечаются пустые (несуществующие) строки файла.

Основным режимом является командный, в котором команды вводятся нажатием некоторой последовательности клавиш (на экране никак не отображаются).

Перемещение по тексту в командном режиме осуществляется с помощью стрелок и клавиш <h>(влево), <j>(вниз), <k>(вверх), <l>(вправо).

Некоторые команды vi приведены в таблице.

dd

Удаление текущей строки

Yy

Копирование текущей строки в буфер

Yдвижение курсора<Es>

Занесение отмеченных курсором символы в буфер

o

Вставка новой строки снизу

O

Вставка новой строки сверху

a

Добавление после курсора

A

Добавление после текущей строки

i

Вставка перед курсором

I

Вставка перед текущей строкой

s

Замена символа на символ, вводимый с клавиатуры

p

Вставка текста из буфера

. (точка)

Повтор последней выполненной команды

u

Отмена последней команды

U

Отмена всех изменений в текущей строке

x

Удаление символа над курсором

В режиме ввода все набранные на клавиатуре символы вставляются в текст.

В режиме последней строки вводимая команда отображается в последней строке экрана.

Соседние файлы в папке Лабы по UNIX