(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Мобильные платформы | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Выпускники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация

Цели работы

Получить навыки работы в командной среде Linux в интерактивном режиме, исполнения простых команд, применения средств перенаправления ввода-вывода и средств экранирования метасимволов, освоить следующие команды, определенные стандартом Posix.2:

man whatis info echo id whoami who pwd
passwd less cat ls (-l, -d) cd touch wc mkdir
rmdir rm (-r) cp mv date cal recode iconv

Описание работы

Шаг 1 (справка). 1) Используя справочные руководства man, whatis, apropos, info изучите общее назначение команд, перечисленных в разделе "Цели работы".

Шаг 2 (экранирование, перенаправление). Выполните экранирование специальных символов для следующих строк

 #   Исходная строка 
1  "a "bc$a" 
2  a'abc$'c 
3  a\b $c\$d 
таким образом, чтобы результатом выполнения команды

echo строка_с_экранированием

являлась исходная строка. Обоснуйте выбор средств экранирования.

2) Выполните перенаправление вывода команды echo в файл quoting.

3) Объясните ошибку экранирования внутренней одинарной кавычки (') с помощью двойных кавычек (") для команды echo:

echo 'a"'"b'

Шаг 3 (простая команда, код возврата). Пользуясь справочной системой реализуйте командные строки, позволяющие получить описанные ниже результаты (самостоятельно определив необходимые параметры указанных команд). Каждую полученную строку-команду отправьте в файл с именем commands. Убедитесь в успешности кода возврата каждой команды (echo $?).

 #   Задание   Команды 
1 Вывести список имен пользователей, работающих в системе, и их общее количество who
2 Вывести текущую дату в формате 'dd полное_название_текущего_месяца yyyy' date
3 Вывести календарь на 1752 год в файл calendar cal
4 Вывести на экран содержимое файла calendar с нумерацией непустых строк cat
5 Подсчитать количество слов в файле calendar wc

Шаг 4 (смена кодировок).

Создайте в своем домашнем каталоге папку shell_lab1. Скопируйте в нее файл file_koi в кодировке KOI8-R. Перекодируйте файл из кодировки KOI8-R в кодировку CP1251 и UTF8, получив два новых файла file_win и file_utf соответственно. Убедитесь в успешной смене кодировок (например, используя команду iconv -f кодировка имя_файла). Сравните характеристики трех файлов (ls -l).

Критерии оценки работы

За задание можно получить 8 баллов. При этом задание должно быть выполнено полностью, сдаваться в срок, автор обязан понимать собственное решение и уметь объяснить суть основных понятий: командный интерпретатор, простая команда shell, параметры команды (опции), код возврата, метасимвол, экранирование, перенаправление.

Защищая работу, Вы должны продемонстрировать 1) умение работать со справочной системой (man, whatis, apropos, info); 2) знание общего назначения приведенных в разделе "Цели работы" команд (например, echo — вывод строки текста); 3) умение использовать операторы перенаправления и средства экранирования.