Цели работы
Получить навыки работы в командной среде 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. Каждую команду echo отправьте в файл commands (не забудьте про экранирование). В результате перенаправления в файле commands должно появиться три строки.
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) умение использовать операторы перенаправления и средства экранирования.