
- •Тема 1. Основы Unix
- •Структура unix
- •Сравнение Windows 2000 и Unix
- •Сравнение FreeBsd и Linux
- •Командные интерпретаторы Unix
- •Тема 2. Команды интерпретатора
- •2.1 Команды работы с файловой системой
- •2.2 Создание ссылок
- •2.3 Конвейеры и перенаправление ввода-вывода
- •Тема 3. Сценарии
- •3.1 Редактирование исходных файлов
- •3.2 Работа с командным интерпретатором
- •3.3 Переменные
- •3.4 Взаимодействие с пользователем
- •3.5 Арифметические операции в сценариях
- •Тема 4. Операторы сценариев
- •4.1 Операторы цикла
- •4.2 Другие операторы
- •4.3 Арифметические операторы and и or
- •Код завершения
- •Файловые дескрипторы
- •Отладка сценариев
- •4.7 Запись команд
- •Использование специальных символов
- •Тема 5. Файловая система FreeBsd
- •Разделы жесткого диска
- •5.2 Файловые системы
- •Монтирование файловых систем
- •Блоки и индексные дескрипторы
- •5.5 Пользователи и группы
- •5.6 Права доступа к файлам и каталогам
- •5.7 Добавление и удаление учетных записей пользователей
- •5.8 Управление процессами
- •Тема 6. Работа с файлами в Unix
- •6.2 Файловые функции Unix
- •6.3 Пример программы для обработки файла
- •Тема 7. Межмашинное взаимодействие
- •7.1 Сокеты
- •7.2 Функции для программирования сокетов
- •Тема 8. Программирование процессов
- •8.1 Информация о процессах
- •8.2 Создание порожденного процесса
- •8.3 Программные каналы
- •Тема 9. Web и Ftp сервисы
- •9.1 Конфигурирование Web-сервера
- •9.2 Конфигурирование ftp-сервера
- •Подключение к Internet
2.3 Конвейеры и перенаправление ввода-вывода
В системе Unix вывод одной команды можно использовать как ввод другой. Кроме того вывод можно перенаправить в файл.
Пример
ls > a.txt
Здесь создается файл a.txt, содержащий листинг текущего каталога. Для добавления в файл используются символы >>.
Если листинг не помещается на экране, вывод команды ls можно направить команде просмотра more:
ls | more
Две программы, связанные программным каналом, называют конвейером.
В одной программе можно использовать несколько конвейеров.
Тема 3. Сценарии
3.1 Редактирование исходных файлов
Исходные файлы могут быть подготовлены в любом текстовом редакторе. При этом для символов кириллицы желательно использовать кодировку KOI-8.
Как правило, в любой Unix-системе присутствует текстовый редактор vi, иногда он может оказаться единственным редактором.
Если за командой vi последует имя файла, файл откроется для редактирования. Если задать имя несуществующего файла, vi будет считать его новым файлом.
Сразу после запуска редактор находится в командном режиме. В этом режиме нажатия клавиш интерпретируются как команды редактору, а не как текст. Чтобы переключиться в режим ввода текста, необходимо нажать одну из клавиш: a, i или o.
Клавиша a означает append (добавить). В этом режиме вводимый текст будет вставлен после символа, на котором находится курсор.
Клавиша i означает insert (вставить). Вводимый текст будет вставлен перед символом, на котором находится курсор.
Клавиша o означает open (открыть). После строки, на которой находится курсор, в текст будет вставлена новая строка, и курсор перейдет на новую строку. Есть еще команда O, которая вставляет пустую строку над текущей строкой.
Переход из режима ввода текста в командный режим выполняется клавишей Esc.
Команды редактирования текста
D - удаляет текст от позиции курсора до конца строки.
dd - удаляет текущую строку.
число dd - удаляет несколько строк, начиная с текущей.
r символ – заменяет символ в позиции курсора символом, указанным за r.
x - удаляет символ в позиции курсора и сдвигает следующие за ним символы влево.
~ - заменяет букву в позиции курсора той же буквой другого регистра.
J - объединяет текущую строку с предыдущей.
Операции над файлами
:w - сохраняет изменения в текущем файле.
:w имя_файла - сохраняет текст в файле с указанным именем.
:q - осуществляет выход из программы. Если имеются несохраненные изменения, редактор выдает сообщения об этом и программа не закрывается.
:q! - осуществляет выход из программы, даже если имеются несохраненные изменения. Изменения при этом теряются.
:e имя_файла – загружает заданный файл в редактор.
Копирование текста
Для копирования текста в буфер используется команда y. Наиболее часто используются следующие разновидности команды y.
yw - помещает в буфер символы от позиции курсора до конца слова.
y$ - помещает в буфер текст от текущей позиции курсора до конца данной строки.
yy - помещает в буфер всю строку.
число yy - помещает в буфер несколько строк, начиная с текущей.
Для вырезания текста используется команда d.
Вставка из буфера в позицию курсора выполняется командой p.