Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Введение в OC Linux. Перенаправление ввода-вывода. Программные каналы (конвейеры).

Читайте также:
  1. I Введение
  2. I. ВВЕДЕНИЕ
  3. I. Введение
  4. I. ВВЕДЕНИЕ
  5. I. ВВЕДЕНИЕ
  6. I. ВВЕДЕНИЕ
  7. I. ВВЕДЕНИЕ
  8. I. ВВЕДЕНИЕ
  9. I. Введение
  10. I. Введение
  1. Man: команда документации, руководства. Рассказывает о том что делают другие команды (например: man readline – полный список всех возможностей по вводу команд, man is: выдает описание всех опций команды is). Для поиска по подразделам ставится символ: man -S номер раздела
  2. Is – просмотр списка файлов в текущем директории
  3. Info -погружает пользователя в систему чтения гипертекста с информацией о GNU (основа ПО для Linux)
  4. Whatis слово: ищется в заголовках странниц руководства
  5. Apropos слово: менее строгие правила соответствия
  6. Which: путь исполняемого файла
  7. file: определение типа файла по его содержимому
  8. uname –a (all): краткая информация о системе
  9. who – какие пользователи в настоящий момент работают в системе
  10. ps: список всех запущенных процессов
  11. pstree: выдает дерево процессов
  12. jobs: список всех работ (задачи, приложения)
  13. echo: просмотр значения переменной (например: echo $название_переменной )
  14. cat – печать файлов которые указаны в качестве параметра. Команда, которая переписывает (без параметров) стандартный вход и стандартный выход. При ее помощи можно вывести на экран содержимое файла: cat <filename
  15. cp: копирует один файл в другой (например cp file1 file2)
  16. mv: перемещение (переименование файла)
  17. rm: удаление файла
  18. expr: вычисление выражения, заданного при помощи параметров
  19. Bc - калькулятор
  20. dc -калькулятор
  21. find «папка» «выражение» – посмотреть все папки и все подпапки и ко всем файлам применить выражение
  22. xargs - объединяет зафиксированный набор заданных в командной строке начальных аргументов с аргументами, прочитанными со стандартного ввода, и выполняет указанную команду один или несколько раз.
  23. mkdir – makedir – создать папку
  24. chown – change owner изменяющая владельца и/или группу для указанных файлов
  25. chmod – change mode изменяет права доступа к файлам, директориям и символическим ссылкам.
  26. wc – кол-во строк, слов символов в файле
  27. test: команда проверки выполнения условия (например test –f file.txt проверяет существует ли файл с именем file.txt b является ли он обычным файлом)
  28. tr – копирует стандартный входной поток в стандартный выходной, подставляя или удаляя некоторые символы
  29. mail - отправка пользователям почты или ее чтение
  30. write – (write пользователь [терминал])отправляет сообщение другому пользователю, который имеет сессию в этой же системе. В отличие от утилиты talk, переписка посредством write возможна только в пределах одной системы.
  31. sleep - выполняет задержку на указанное время
  32. diff -утилита сравнения файлов, выводящая разницу между двумя файлами. Эта программа выводит построчно изменения, сделанные в файле.
  33. cmp - сравнивает два файла, и если они различаются, сообщает о первом байте и строке, где было обнаружено различие.
  34. head: отрезает начало файла (длина задается)
  35. tail: отрезает конец файла (длина задается)
  36. split: режет файл на части определенной длины
  37. mc - (midnight commander) один из файловых менеджеров с текстовым интерфейсом типа Norton Commander для UNIX-подобных операционных систем
  38. cron - демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время.
  39. anacron -асинхронный или анахроничный cron. В отличие от cron не поддерживает запуск заданий по расписанию, вместо этого задания запускаются с заданым интервалом времени. Это очень удобно для систем которые работают не регулярно, например домашние рабочие станции или ноутбуки. Задачи Anacron хранятся в файле конфигурации:
  40. at (4 команды)
    1. at- запуск команды в определенное время
    2. atq -список заданий, заданных пользователем, если пользователь не суперпользователь; в этом случае, выдаются все задания
    3. atrm удаляет задания
    4. batch запускает команды, когда уровни загрузки системы позволяют это делать
  41. grep: ищет в стандартном вводе строки, содержание text в качестве подстроки (например grep text - ищет файл содержащий в имени text,)
  42. fgrep – grep который трактует символы $*[]^|()\ буквально.
  43. sort
  44. join
  45. nl
  46. fmt
  47. cut
  48. paste
  49. sed
  50. awk
  51. flex
  52. bison
  53. troff
  54. latex
  55. fop
  56. gst-launch
  57. gst-inspect
  58. wget
  59. curl
  60. ncftpget

 

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. Перенаправление ввода-вывода. Программные каналы (конвейеры).

lektsii.net - Лекции.Нет - 2014-2025 год. (0.023 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав