Разделы презентаций


Занятие 11 МДК.02.01 Программное обеспечение компьютерных сетей 3-курс

Содержание

Элементы языка shell

Слайды и текст этой презентации

Слайд 1Занятие 11
МДК.02.01 Программное обеспечение компьютерных сетей 3-курс

Занятие 11МДК.02.01 Программное обеспечение компьютерных сетей 3-курс

Слайд 2Элементы языка shell

Элементы языка shell

Слайд 5Элементы языка shell
Другими, очень мощными средствами командного интерпретатора shell

являются фильтры и конвейеры команд (программные каналы, pipes).
Фильтрами называются

программы или команды, которые выполняют чтение со стандартного ввода и записывают результат в стандартный вывод.
Многие команды операционной системы UNIX реализованы в виде фильтров.
Фильтры допус­кают объединение, используя механизм конвейеризации, позво­ляющий объединять стандартный вывод одной команды со стандартным вводом другой.
Элементы языка shell  Другими, очень мощными средствами командного интерпретатора shell являются фильтры и конвейеры команд (программные

Слайд 6Элементы языка shell
Оператор, реализующий механизм программных каналов, обозначается вертикальной

чертой |.
Командную строку, состоящую из нескольких команд (прог­рамм), работающих

в конвейере, можно представить следующим образом:
программа1 | программа2 | программаЗ...
Первая команда конвейера создает поток выходных данных, принимаемых на входе программы2.
программа2, в свою очередь, создает выходной поток для программыЗ и т. д.
Элементы языка shell  Оператор, реализующий механизм программных каналов, обозначается вертикальной чертой |. Командную строку, состоящую из

Слайд 7Элементы языка shell
Вернемся к функционированию программных каналов в интер­претаторе

shell.
Пусть требуется определить количество файлов, содержащихся в

текущем каталоге.
Если использовать перена­значение ввода/вывода, то данная задача решается посредством двух команд:
# ls -l > list_files
# wc -l < list_files
Здесь используются операторы > и < переназначения ввода/вы­вода, а промежуточный результат хранится в файле list_files.
Команда wc -l считает количество строк в документе.
Элементы языка shell  Вернемся к функционированию программных каналов в интер­претаторе shell.  Пусть требуется определить количество

Слайд 8Элементы языка shell
Также операция с использованием программного канала решается

одной командой:
# ls -l | wc -l
Нужно

четко представлять себе, когда лучше использовать переназначение ввода/вывода, а когда конвейер команд.
Опти­мальное сочетание того и другого механизмов позволяет реали­зовать довольно сложные и эффективные алгоритмы обработки данных.
Так, например, если необходимо сохранить список файлов, имена которых начинаются с "text", то это можно сделать одной командой:
# ls -l | grep text > text_files


Слайд 9Элементы языка shell
Командный интерпретатор shell, подобно языкам высокого уровня,

использует переменные.
Имя переменной должно начи­наться с буквы или с

символа подчеркивания, не должно содержать пробел, например:
string_1
_InputVal
Элементы языка shell  Командный интерпретатор shell, подобно языкам высокого уровня, использует переменные. Имя переменной должно начи­наться

Слайд 10Элементы языка shell
Имена переменных наподобные:
7n
my var
.var1
использовать

нельзя.

Имя 7n начинается с цифры,
my var со­держит пробел,


а .var1 — недопустимый символ точки.
Элементы языка shell  Имена переменных наподобные:7n my var .var1 использовать нельзя. Имя 7n начинается с цифры,

Слайд 11Элементы языка shell
Переменным можно присвоить определенные значения с помо­щью

оператора присваивания =:
string_1="String 1"
Var1=1
Здесь переменной string_1 присвоена

строка символов "String 1", а переменной Var1 — значение 1.
Обратите внимание на то, что строковое значение заключается в кавычки.
Элементы языка shell  Переменным можно присвоить определенные значения с помо­щью оператора присваивания =: string_1=

Слайд 12Элементы языка shell
В отличие от языков программирования высокого уровня,

таких, например, как С («си»), переменные командного интерпретатора shell

не связаны с определенным типом данных, поэтому любое при­своенное им значение интерпретируется как строка символов.
Для доступа к переменной нужно непосредственно перед ее именем установить знак доллара $.
Следующий пример демон­стрирует вывод содержимого переменной myvar на экран:
# myvar=10
# echo $myvar
10
Элементы языка shell  В отличие от языков программирования высокого уровня, таких, например, как С («си»),

Слайд 13Элементы языка shell
Точно так же на экране отображается и

строковое значение, присвоенное переменной:
# message="String"
# echo $message
String


Везде, где встречается символ $, предшествующий имени переменной, он заменяется ее значением, например:
# myvar=100
# echo myvar = $myvar
myvar = 100
Элементы языка shell  Точно так же на экране отображается и строковое значение, присвоенное переменной: # message=

Слайд 14Элементы языка shell
Если имя переменной заключить в фигурные скобки,

то отображаемое значение будет содержать символы (если есть), находя­щиеся за

фигурными скобками, например:
# myvar="String"
# echo ${myvar}100
String100
Важное замечание: при записи операции присваивания переменная, оператор = и присваиваемое значение должны быть за­писаны без пробелов.
Элементы языка shell  Если имя переменной заключить в фигурные скобки, то отображаемое значение будет содержать символы

Слайд 15Элементы языка shell
Переменной может быть присвоен результат выполнения команды,

для чего используются обратные апострофы, например:

# DATE=`date`
Здесь переменная

DATE получает результат вывода команды date.
Элементы языка shell  Переменной может быть присвоен результат выполнения команды, для чего используются обратные апострофы, например:

Слайд 16Элементы языка shell
Если команда заключена в обратные апострофы, то

интерпретатор обязательно выполнит ее, поместив результат на то место в

командной строке, где эта команда указана:

# users=`who | wc –l`
# echo $users users logged in.
3 users logged in.
Элементы языка shell  Если команда заключена в обратные апострофы, то интерпретатор обязательно выполнит ее, поместив результат

Слайд 17Элементы языка shell
Для работы со строками, файлами и каталогами

в интерпретаторе shell очень часто используются специальные символы (мета­символы):

* — произвольная последовательность символов, может не содержать ни одного символа;
• ? — один произвольный символ;
• [... ] — любой из символов в указанном диапазоне, либо указанный в перечислении.
Элементы языка shell  Для работы со строками, файлами и каталогами в интерпретаторе shell очень часто используются

Слайд 18Элементы языка shell
Например, команда:
# ls -l r*


отображает все файлы каталога, начинающиеся с литеры r.
Команда:


# ls -l *rt*
отображает на консоли все файлы, содержащие в имени rt. Команда:
# ls -l t.???
выводит файлы текущего каталога, начинающиеся с литеры t и имеющие 3-буквенные расширения, например, tx.doc и tx.out.
Элементы языка shell  Например, команда: # ls -l r*   отображает все файлы каталога, начинающиеся

Слайд 19Элементы языка shell
Команда:
# ls -l [a-d]*
выводит на экран

список файлов, начинающихся с а, b, с, d.
Аналогичный результат

можно получить с помощью одной из команд:
# cat [abed]*
# cat [bdac]*
Элементы языка shell  Команда: # ls -l [a-d]*выводит на экран список файлов, начинающихся с а, b,

Слайд 20Элементы языка shell
Символ * можно использовать и самостоятельно.
Например,

команда:
# echo *
отображает имена всех файлов текущего каталога на

экране.
Элементы языка shell  Символ * можно использовать и самостоятельно. Например, команда:# echo * отображает имена всех

Слайд 21Элементы языка shell
Кроме перечисленных метасимволов, командный интерпретатор shell использует

еще несколько символов, имеющих специальное назначение:
• двойные кавычки ";

• апостроф ‘;
• символ обратной наклонной черты \.
Элементы языка shell  Кроме перечисленных метасимволов, командный интерпретатор shell использует еще несколько символов, имеющих специальное назначение:

Слайд 22Элементы языка shell
Предположим, что текущий каталог содержит файлы data1,

prog1 и text1.
Введем две команды echo, аргументы которых содержат

*, и сравним результаты выполнения:
# echo *
data1 prog1 text1
# echo "*"
*
В первом случае интерпретатор shell воспринимает * как список содержимого текущего каталога и отображает список файлов, а во втором двойные кавычки отменяют значение символа *.
Элементы языка shell  Предположим, что текущий каталог содержит файлы data1, prog1 и text1. Введем две команды

Слайд 23Элементы языка shell
В этом и заключается смысл использования двойных

кавычек.
Любой символ, имеющий специальное значение (например, *, ?, >, >>

, || ), утрачивает свой специальный статус.
Исключениями из этих случаев являются:
- символ $,
- обратный апостроф (`),
- обратный слэш (\),
если они предшествуют спе­циальному символу.
Элементы языка shell  В этом и заключается смысл использования двойных кавычек.Любой символ, имеющий специальное значение (например,

Слайд 24Элементы языка shell
Смысл одиночных апострофов демонстрирует следующая команда:
#

echo '$text'
$text
Как это следует

из результата, если переменная заключена в апострофы, то ее значение не подставляется при вычислении выражения.
Элементы языка shell  Смысл одиночных апострофов демонстрирует следующая команда: # echo '$text'  $text Как

Слайд 25Элементы языка shell
Разницу между двойными кавычками, апострофами и их

отсутствием можно увидеть, выполнив следующие команды:
# echo *
data1

prog1 text1

# echo * "*" '*'
data1 prog1 text1 * *

# var1=test
# echo $var1 "$var1" '$var1'
test test $var1
#
Элементы языка shell  Разницу между двойными кавычками, апострофами и их отсутствием можно увидеть, выполнив следующие команды:

Слайд 26Элементы языка shell
Обратная наклонная черта перед

символом ликвидирует его специальное значение:

#

echo \$text
$text

# echo \\
\
Элементы языка shell  Обратная  наклонная  черта  перед  символом  ликвидирует  его

Слайд 27Элементы языка shell
Кратко рассмотрим смысл основных системных переменных: •

PATH — указывает, в

каких каталогах искать выполняемые файлы;
• НОМЕ — это путь к домашнему каталогу пользователя;
• MAIL — имя файла электронной почты пользователя;
• SHELL — указывает оболочку, в которой работает пользова­тель.
Элементы языка shell  Кратко рассмотрим смысл основных системных переменных: •   PATH  —

Слайд 28Элементы языка shell
Эти переменные можно использовать в выражениях и

командах интерпретатора shell обычным образом, так же, как и другие

переменные.
Большинство командных интерпретаторов в общем случае не предназначены для выполнения сложных математических вычислений, хотя имеют встроенные средства для арифметических операций.
Приятным исключением является командная оболоч­ка bash, в которой весьма существенно расширены возможности по обработке математических величин.
Элементы языка shell  Эти переменные можно использовать в выражениях и командах интерпретатора shell обычным образом, так

Слайд 29Элементы языка shell
Например, командный интерпретатор выполняет приведенные далее операции

следующим образом:
# n=0
# n=$n+1
# echo $n
0+1



Арифметические операции, которые можно выполнить в shell, мы рассмотрим далее при анализе командных файлов.
Элементы языка shell  Например, командный интерпретатор выполняет приведенные далее операции следующим образом: # n=0 # n=$n+1

Слайд 30Вспомним некоторые команды
su — выполняет команду с заменой идентификатора пользователя

и группы; su (Set UID) – утилита командной строки, которая

позволяет вам временно стать другим пользователем (изменить "владельца" текущего сеанса) без необходимости завершать сеанс и открывать новый.
Если имя временного пользователя не указано, то им становится суперпользователь root.
Если при этом использовать опцию –l, то получим доступ к переменным окружения администратора в полном объеме.
При этом текущий каталог, в котором была отдана команда, сменится на домашний каталог пользователя root.


Вспомним некоторые команды su — выполняет команду с заменой идентификатора пользователя и группы; su (Set UID) –

Слайд 31Вспомним некоторые команды
Например, для смены текущего пользователя на alex, введём

команду:
$ su alex
Password:
[*****]$
При этом надо знать пароль пользователя alex.
Для

выхода из команды su , то есть вернуться к первоначальному пользователю, можно множеством различных способов, например, можно набрать в командной строке exit и нажать ENTER:
$ exit
нажать клавишу < ENTER >.

Вспомним некоторые команды Например, для смены текущего пользователя на alex, введём команду:$ su alexPassword:[*****]$ При этом надо

Слайд 32Вспомним некоторые команды
Для смены владельца на супепользователя root выполним команду:


$ su –l root
Password:
[********]#
При этом необходимо знать пароль супепользователя root.
Суперпользователь

может создать нового пользователя, назначить ему пароль и выйти из команды su, набрать в командной строке exit и нажать ENTER:
# exit
нажать клавишу < ENTER >.

Вспомним некоторые команды Для смены владельца на супепользователя root выполним команду: $ su –l rootPassword:[********]#При этом необходимо

Слайд 33Контрольные вопросы
1. Пользуясь командой su сменить пользователя на root.
2. Создать

нового пользователя.
3. Назначить ему пароль.
4. Создать дополнительную группу.
5. Добавить

нового пользователя в созданную группу.
6. Выйти из программы su.
Контрольные вопросы 1. Пользуясь командой su сменить пользователя на root.2. Создать нового пользователя.3. Назначить ему пароль. 4.

Слайд 34Список литературы:
Unix и Linux: руководство системного администратора, 4-е издание, 2012,

Э. Немет, Г. Снайдер, Т. Хейн, Б. Уэйли
Для начинающих работать

в UNIX, Ф.И. Торчинский.
Организация UNIX систем и ОС Solaris 9, Торчинский Ф.И., 2-е издание, исправленное, 2016.


Список литературы:Unix и Linux: руководство системного администратора, 4-е издание, 2012, Э. Немет, Г. Снайдер, Т. Хейн, Б.

Слайд 35Благодарю за внимание!
Преподаватель: Солодухин Андрей Геннадьевич
Электронная почта: asoloduhin@kait20.ru


Благодарю за внимание!Преподаватель: Солодухин Андрей ГеннадьевичЭлектронная почта: asoloduhin@kait20.ru

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика