Читайте также: |
|
2. Синтаксис простейшей команды: присваивания, имя, параметры, перенаправление ввода и вывода.
3. Синтаксис конвейера, цепочки, списка, составных команд, арифметической и условной команд, управляющих структур, определения функций, подстановок.
4. Синтаксис присваивания значения переменным и элементам массивов, использования этих значений в BASH и TCL.
5. Синтаксис простейших команд TCL и управляющих структур.
6. Синтаксис создания новых команд в TCL, команд global и upvar. Подстановки в TCL.
7. Что делают команды в TCL.
1. String- length строка кол-во символов в utf-8? String bytelength строка
2. Expr- не обращ внимания на пробелы, возможность вещ. Арифм., элем. Ф-ии, то что умеет TCL.
3. Glob - список файлов соотв. Шапблонам, не упоряд. По алфавиту
4. Filу – copy можно копировать папки
5. Open- имя режима
6. Close – закрывает общение с тек. процессом
7. Puts – вывод строки (puts “Holla!”)
8. Gets -
9. List -
10. Split -
11. Linsert -
12. Lreplace -
13. Lappend -
14. Lindex -
15. Array -
8. Что делают команды spawn, expect, send, wait в expect.
9. Что делают команды в Tk
1. Button -
2. Label -
3. Entry -
4. Text -
5. Scrollbar -
6. Frame -
7. Pack -
8. Grid -
9. Bind -
10. Send -
10. Синтаксис регулярных выражений.
11. Синтаксис адресов и команд р, s, е, у, w, г в sed.
12. Синтаксис образцов и действий в awk.
13. Синтаксис правил для make.
14. Общая структура документа, формы управляющей информации на примере troff, latex и xsl-fo.
15. Что делают в m4 макроопределения
1. Changequote
2. Changecom
3. Define
4. Undefined
5. Pushdef
6. Popdef
7. Indir
8. Builtin
9. Defn
10. Ifdef
11. Ifelse
12. Dnl
13. m4wrap
14. divert
15. undivert
16. divnum
17. include
18. sinclude
19. incr
20. decr
21. eval
22. len
23. index
24. regexp
25. patsubst
26. substr
27. translit
28. format
16. Последовательность команд для настройки, компиляции и установки программы, полученной в виде исходников.
17. Команды для создания файлов configure и Makefile.in.
18. Опции SPIN для выполнения модели в каждом из трех режимов и построения анализатора. Команды компиляции и запуска анализатора для проверки модели и поиска холостых циклов.
19. Базовые типы и синтаксис декларации переменных и констант языка Promela. Стр. 40 пдф
20. Синтаксис операторов timeout, if, do, блокировки по условию, последования операторов, утверждений, break, goto, skip, else, атомарные последовательности операторов, передача в каналы сообщений, чтение и проверка каналов, определение процессов в Promela (процессы стр.41)
21. Понятия элемента, входа, выхода, набора, конвейера в GStreamer.
22. Общие принципы работы CGI.
23. Понятия субъекта, объекта и его класса безопасности, контекста безопасности и идентификатора безопасности, решения о пометке (переходе), решения о доступе, векторов доступа и протоколирования, типа, области, роли.
Введение в OC Linux. Перенаправление ввода-вывода. Программные каналы (конвейеры).
Цель работы: получить практические навыки по использованию возможностей ввода-вывода и организации программных каналов (конвейеров), научиться использовать эти средства для решения поставленных задач.
Теоретические сведения
1. Перенаправление потоков и программные каналы
В ОС UNIX существует три стандартных потока: поток ввода, поток вывода и поток стандартного протокола (поток ошибок).
Перенаправление потоков позволяет изменить стандартный ввод/вывод: < - изменение источника стандартного ввода; >, >> - изменение приемника стандартного вывода.
Примеры:
cat > filename - перенаправление вывода программы cat в файл filename (если этот файл существует, то его прежнее содержимое будет утеряно);
cat >> filename - добавить содержимое вывода программы cat к содержимому файла filename;
cat < filename - сформировать стандартный ввод программы cat из содержимого файла filename.
Стандартные потоки - поток ввода, поток вывода и поток ошибок (поток протокола) имеют фиксированную нумерацию - 0, 1 и 2 соответственно. Эти номера (номера дескрипторов потоков) можно использовать в явном виде. Например, запись
prog 1>file
эквивалентна записи
prog >file
Для того, чтобы отличить имя потока от имени файла, перед номером потока ставится символ ‘&’:
prog >file 2>&1
Здесь происходит перенаправление стандартного потока вывода в файл file (>file). А кроме того, сообщения об ошибках также будут перенаправлены в файл file: запись 2>&1 означает перенаправление потока ошибок на стандартный поток вывода, который, в свою очередь, был перенаправлен в файл.
Замечание: анализ команды осуществляется интерпретатором справа налево: сначала происходи слияние потоков (2>&1), а затем перенаправляется стандартный поток вывода (1) в файл file.
В связи с этим бывает полезно использование псевдоустройства /dev/null, удаляющего все введенные в него символы. Это используется тогда, когда необходимо полностью игнорировать (подавить) выходные потоки.
Канал - это программное средство, связывающее процессы ОС UNIX буфером ввода/вывода. Запуск процессов в виде
$ процесс_1 | процесс_2 |... | процесс_n
означает, что стандартный вывод процесса _1 будет замкнут на стандартный ввод процесса _2, стандартный вывод процесса _2 будет замкнут на стандартный ввод процесса _3 и т.д. При этом сначала создается канал, а потом на выполнение одновременно запускаются все процессы, и общее время их выполнения определяется более медленным процессом.
Пример: ls | wc -l
Те же действия можно организовать так:
ls > buffer
wc -l < buffer
rm -f buffer
Команда ls выводит на экран (стандартный поток вывода) список файлов текущего каталога, а команда wc -l считает количество строк во входном потоке (в файле, а если файл не указан - в стандартном входном потоке). Таким образом, объединение этих двух команд программным каналом позволяет посчитать количество файлов в текущем каталоге.
Итоговая таблица:
> file | Перенаправление стандартного потока вывода в файл file |
>> file | Добавление в файл file данных из стандартного потока вывода |
< file | Получение стандартного потока ввода из файла file |
p1 | p2 | Передача стандартного потока вывода программы p1 в поток ввода программы p2 |
n > file | Переключение потока вывода из файла с дескриптором n в файл file |
n >> file | Добавление записей потока вывода из файла с дескриптором n в файл file |
n > &m | Слияние потоков с дескрипторами n и &m |
2. Справочные команды.
grep - поиск шаблона (подстроки) в файлах:
$ grep [-ключи] подстрока список_файлов
Найденные строки выводятся на стандартный вывод в формате, определяемом ключами. Если файлов несколько, то перед каждой строкой выводится имя соответствующего файла. Ключи:
-c - вывод имен всех файлов с указанием количества строк, содержащих шаблон;
-i - игнорирование регистра (различия строчных и заглавных латинских букв);
-n - вывод перед строкой ее относительного номера в файле;
-v - вывод строк, не содержащих шаблона (инверсия вывода);
-l - вывод только имен файлов, содержащих шаблон.
wc - подсчет количества строк, слов и символов в файлах:
$ wc [-lwc] [список_файлов]
Подсчет строк - ключ -l, слов - ключ -w и символов - ключ -c (по умолчанию -lwc). Если список файлов пуст, то подсчет ведется в стандартном потоке ввода.
sort - сортировка файлов:
$ sort [-ключи] список_файлов
Эта команда сортирует входные файлы по строкам в соответствии с увеличением кодов символов. Ключи:
-r - обратный порядок сортировки;
-f - не учитывать различие строчных и прописных латинских букв
-n - числовой порядок сортировки и т.д.
cmp - вывод места первого расхождения:
$ cmp файл_1 файл_2
Выводит номер символа и номер строки (в текстовых файлах), в которой впервые встречается расхождение во входных файлах. Работает с любыми файлами.
diff - вывод всех расхождений в файлах:
$ diff файл_1 файл_2
Выводит все строки, в которых встречаются расхождения между входными файлами. Работает только с текстовыми файлами.
find -поиск файлов в поддереве каталогов:
find список_каталогов условия_поиска
Команда последовательно просматривает все поддеревья, начинающиеся с одного из каталогов, указанных в списке каталогов, анализирует их атрибуты, и если они удовлетворяют условиям поиска: выполняет действия, заданные в условиях _ поиска
В команде может быть задано множество условий поиска, необходимые комбинации которых объединяются в булевское выражение с помощью логических операций:
! условие отрицание условия;
пробел соответствует операции «И»;
-o операция «ИЛИ»;
\(выражение \) булевское выражение в скобках
Перечислим некоторые опции, задающие условия (при этом условимся обозначать через n положительное десятичное число, +n - любое положительное число, строго большее n, -n - любое положительное число, строго меньшее n):
· -name имя_файла истинно для файлов с именем имя_файла; в задаваемом имени допускается использование метасимволов;
· -perm 8-ричный_код истинно для файлов с указанным кодом прав доступа;
· -type {f|d|b|c|p} истинно для файлов указанного типа (f - обычный файл, d - каталог, b - блок-ориентированный специальный файл, c - байт-ориентированный специальный файл, p - именованный канал);
· -print всегда истинно; вызывает печать маршрутного имени файла;
· -size n[c] истинно для файлов с длиной n. По умолчанию длина задается в блоках по 512 байт, а если после длины ставится символ c, то в байтах;
· -exec команда истинно, если команда, выполняющаяся при наличии данного условия, возвращает нулевой код завершения. Если в тексте команды должно быть указано имя текущего проверяемого файла, то вместо него пишут {}. В конце команды должна стоять экранированная точка с запятой: ‘\;’;
· -links n истинно для файлов с числом ссылок n.
Примеры:
$find / -type f -links +1 -print
Выводятся полные маршрутные имена файлов корневого каталога, на которые имеется более одной ссылки.
$find / -type f -size +2 -exec ls -l {}\;
Выводятся листинги с указанием длины в блоках (по 1024 байта) для файлов корневого каталога, длина которых в блоках по 512 байт превышает 2.
$find /dev \(-type d -o -type b \) -print
Выводятся имена каталогов или специальных файлов устройств блок-ориентированного типа из каталога /dev и его подкаталогов
find / -name ‘*.a’ -exec ar -t {} \; |grep console
В этой сложной команде ищутся файлы с расширением ‘.a’ (архивы или библиотеки), происходит просмотр их содержимого (-exec ar -t {}) и выводятся строки, содержащие подстроку ‘console’ (grep console)
Дата добавления: 2014-12-19; просмотров: 144 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Что делают команды | | | Введение в OC Linux. Перенаправление ввода-вывода. Программные каналы (конвейеры). |