Особенности работы в консольном и графическом режиме
Учебные вопросы
Учебный вопрос 1. Оболочка командной строки
Функции командной строки
Преимущества консоли
Аналог в консоли
Командный интерпретатор
Функции командного интерпретатора
Командный интерпретатор Windows
Учебный вопрос 2. Командный интерпретатор UNIX
bash
Ключевые отличия bash
Скрипты на bash
Исполнение скрипта
Перенаправление ввода-вывода
Программирование в командной строке UNIX
Переадресация ввода -вывода
Выполнение группы или последовательности команд
Конвейеры
Преимущества программирование в оболочках
Базовая архитектура оболочки
Средства управления работой в консольном режиме
Командный интерпретатор bash
zsh
Виды командных оболочек
Команды консоли типы команд по категориям
Получение справки
Управление файлами и каталогами
Поиск файлов
Работа с файлами
Управление процессами
Архивирование и сжатие файлов
Управление пользователями
Управление системой
Работа с датой и временем
Псевдографическая оболочка управления файловой системой МС
top
top
htop
htop
iotop
iftop
iptraf
vmstat
Диагностика сбоев
strace
strace
ltrace
ltrace
ldd
lsof
lsof
Где и как искать команды и опции к ним
Учебный вопрос 3. Система XWindow
Функции XWindow
Клиент-серверная архитектура XWindow
Учебный вопрос 4. Оконные менеджеры
Учебный вопрос 5. Командный интерпретатор Windows
Примеры команд
Windows PowerShell
Командлеты PowerShell

Особенности работы в консольном и графическом режиме

1. Особенности работы в консольном и графическом режиме

Тема № 14

2. Учебные вопросы

1.
2.
3.
4.
5.
Оболочка командной строки
Командный интерпретатор UNIX
Система XWindow
Оконные менеджеры
Командная интерпретатор Windows
2

3. Учебный вопрос 1. Оболочка командной строки

Командный интерпретатор = Интерпретатор
командной строки - компьютерная программа, часть
операционной системы, обеспечивающая базовые
возможности управления компьютером посредством
интерактивного ввода команд через интерфейс
командной строки или последовательного исполнения
пакетных командных файлов
3

4. Функции командной строки

• Возможность двунаправленного
взаимодействия с пользователем
• Скриптовый язык программирования
• Перенаправление ввода-вывода команд
4

5. Преимущества консоли

• Меньшее потребление ресурсов
• Не нужна мышь!
• Набрать команду быстрее, чем навигация по меню
5

6.

Разве это удобно?
6

7. Аналог в консоли

7

8. Командный интерпретатор

• Компьютерная программа, часть операционной
системы, обеспечивающая базовые возможности
управления компьютером посредством
интерактивного ввода команд через интерфейс
командной строки или последовательного исполнения
пакетных командных файлов
8

9. Функции командного интерпретатора

• Взаимодействие с пользователем
• Обработка (расширение) шаблонов имен
• Перенаправление ввода-вывода команд
• Управление заданиями
9

10. Командный интерпретатор Windows

10

11. Учебный вопрос 2. Командный интерпретатор UNIX

• V6 shell - в 1971 году разработал
первую оболочку для Unix Кен
Томпсон (Ken Thompson) из компании
Bell Labs
/bin/sh
• Была независимой программой,
выполняющейся за пределами ядра
Кеннет Томпсон
11

12. bash

Bourne shell (часто sh по имени
исполняемого файла) — ранняя
командная оболочка UNIX,
разработанная Стивеном Борном
из Bell Labs и выпущенная в составе
7-го издания операционной
системы UNIX (UNIX Version 7)
https://ru.wikipedia.org/wiki/Bash
Стивен Борн
12

13. Ключевые отличия bash

• служила интерпретатором команд, позволяя
выполнять команды в интерактивном режиме
• позволяла создавать сценарии, которые можно было
неоднократно вызывать с помощью оболочки
13

14. Скрипты на bash

Скрипт — простой список команд, записанный в файл
Любой bash-скрипт должен начинаться со строки:
#!/bin/bash
после #! указывается путь к bash-интерпретатору
14

15. Исполнение скрипта

Для того, чтобы скрипт стал исполняемым, могут быть
использованы следующие команды:
• выдача прав на чтение/исполнение любому пользователю
chmod +rx scriptname
• выдача прав на чтение/исполнение только "владельцу"
скрипта
chmod u+rx scriptname
Запуск:
./scriptname или bash scriptname
15

16. Перенаправление ввода-вывода

stdin — стандартный ввод
stdout — стандартный вывод программы
stderr — стандартный вывод ошибок
16

17. Программирование в командной строке UNIX

#!/bin/bash
STR="Hello World!"
echo $STR
Выполнение:
./hello
Hello World
• Листинг:
#!/bin/sh
# Легендарная программа “Hello World”,
реализованная
# на языку программирования оболочки Bourne
echo
echo “Hello World”
echo
exit 0
• Выполнение команды сделает файл
исполняемым :
сhmod +x hello
17

18. Переадресация ввода -вывода

ls > filelist.txt переадресация вывода в файл
mail useraddress < quote, txt переадресация ввода
(отправка почты по адресу)
grep «act» < file >file2 переадресация ввод и вывода
18

19. Выполнение группы или последовательности команд

Конвейеры
Com1->Com2->Com3->…..stdout
2. Скриптовые исполняемые файлы.
#script1
if
com1
com2

fi
#end script1
19

20. Конвейеры

ls | less
отображает длинный список поэкранно
cat quote.txt | mail useradress
создает файл и отправляет его по электронной почте
20

21. Преимущества программирование в оболочках

Язык оболочки прост в изучении
Программу оболочки можно написать за <цать> минут
Программа оболочки значительно экономит время и силы
системного администратора.
Программирование оболочки позволит более глубоко изучить
операционную систему
С помощью программ оболочки можно создавать новые более
эффективные команды для ОС.
Язык оболочки идеально подходит, как первоначальный язык
программирования.
Язык оболочки универсален практически для всех известных
операционных систем.
21

22. Базовая архитектура оболочки

Контейнер, в котором происходят
следующие процессы:
• лексический анализ и "разбор"
входных данных;
• "раскрытие" символов (с помощью
различных методов, таких как
скобки, символ тильды (~),
развертывание и замена значений и
параметров, генерация имен
файлов);
• выполнение команд пользователя
(с использованием команд,
встроенных в оболочку, и внешних
команд).
22

23. Средства управления работой в консольном режиме

Ядро системы
Пользователь
железо
Командная оболочка
23

24. Командный интерпретатор bash

Терминал - графическая программа эмулирующая консоль.
24

25. zsh

25

26. Виды командных оболочек

sh
bash – наиболее популярная и распространенная
tcsh
zsh
и другие
26

27. Команды консоли типы команд по категориям


Получение справки
Облегчение ввода команд
Управление файлами и каталогами
Поиск файлов
Работа с файлами
Управление процессами
Архивирование и сжатие файлов
Управление пользователями
Управление системой
Работа с датой и временем
27

28. Получение справки

Команда
apropos
Info
Man
whatis
alias
unalias
Действие
Поиск man-страниц с указанным ключевым словом
Отображает оперативную справку по заданной команде
Отображает оперативное руководство для команды
Аналог apropos, но осуществляет поиск только целых слов
Определяет аббревиатуру для длинной команды
Удаляет аббревиатуру, определенную командойalias
28

29. Управление файлами и каталогами

Команда
cd
chgrp
chmod
chown
cp
ln
ls
mkdir
mv
pwd
rm
rmdir
touch
Действие
Изменяет текущий каталог
Изменяет группового владельца файла
Изменяет права доступа к файлу
Изменяет владельца и группу файла
Копирует файлы
Создает символические ссылки на файлы и каталоги
Отображает оглавление каталога
Создает каталог
Переименовывает файл либо перемещает файл из одного каталога в
другой
Отображает текущий рабочий каталог
Уничтожает файлы
Уничтожает каталоги
Изменяет метку времени файла
29

30. Поиск файлов

Команда
find
locate
whereis
which
Действие
Поиск файлов на основе заданного критерия
Поиск файлов с помощью периодически обновляемой базы данных
Поиск файлов в каталогах, где могут находиться исполняемые файлы
Поиск файлов в каталогах, перечисленных в переменной среды PATH
30

31. Работа с файлами

Команда
Действие
cat
cmp
Отображает файл на стандартном устройстве вывода (используется также для конкатенации файлов)
cut
Выделяет заданные разделы из каждой строки текста файла
diff
Сравнивает два текстовых файла
dos2unix
Выполняет побайтовое сравнение двух файлов
Преобразует формат текстового файла MS-DOC к UNIX формату
file
Выводит тип данных файла
grep
Поиск в текстовом файле с помощью регулярных выражений
head
Отображает первые несколько строк файла
less
Отображает текстовый файл постранично с возможностью листания вперед и назад
more
Отображает текстовый файл постранично с возможностью листания вперед
tail
Отображает последние несколько строк файла
wc
Подсчитывает количество строк, слов и символов в текстовом файле
zcat
Отображает сжатый файл (без распаковки)
31

32. Управление процессами

Команда
kill
killall
Действие
Посылает сигнал процессу (в т.ч. для его завершения)
Уничтожает все активные процессы
ldd
Отображает совместно используемые библиотеки, необходимые для выполнения программы
ps
Выводит список выполняемых процессов
pstree
Выводит список выполняемых процессов в виде дерева
top
Выводит список процессов по степени загрузки системы
32

33. Архивирование и сжатие файлов

Команда
gunzip
Действие
Распаковывает zip-файлы
gzip
Сжимает файлы
tar
Создает архив файлов
33

34. Управление пользователями

Команда
groups
id
Действие
Печатает список групп, включающих указанного пользователя
Выводит идентификатор пользователя и группы для указанного имени пользователя
passwd
Изменяет пароль
whoami
Выводит действительный идентификатор пользователя
34

35. Управление системой

Команда
df
du
free
Действие
Подсчитывает объем свободной и доступной дисковой памяти
Отображает размер дискового пространства, занятого файлами или каталогами
Отображает количество свободной памяти в системе
uname
Отображает информацию о системе и ядре Linux
uptime
Отображает время непрерывной работы системы
35

36. Работа с датой и временем

Команда
cal
Действие
Выводит календарь для заданного месяца или года
date
Выводит текущую дату и время
time
Измеряет время выполнения команды
36

37. Псевдографическая оболочка управления файловой системой МС

37

38. top

top — отображение процессов linux — кроме этого
отображает uptime, load average, число выполняющихся
задач и тредов.
38

39. top

39

40. htop

Все возможности top + дружественный интерфейс
умеет вызывать lsof, strace и ltrace для выбранного
процесса
40

41. htop

41

42. iotop

iotop — top-подобная утилита для мониторинга нагрузки на
диск, выводит таблицу процессов с текущими показателями
использования дискового ввода/вывода, такими как:
— PRIO — приоритет процесса,
— DISK READ — чтение с диска Байт/сек,
— DISK WRITE — запись на диск Байт/сек,
— SWAPIN — время (в процентном соотношении)
потраченное процессом на свопинг,
— IO — время (в процентном соотношении) потраченное
процессом на ожидание ввода/вывода.
42

43. iftop

43

44. iptraf

44

45. vmstat

vmstat — выводит суммарную информацию о
процессах, памяти, вводе/выводе, активности
процессора и дисков. В отличии от iotop не требует
привилегий суперпользователя
45

46. Диагностика сбоев

strace
ltrace
ldd
lsof
46

47. strace

• strace — утилита позволяет перехватывать системные
вызовы и сигналы запускаемого процесса либо уже
запущенного процесса по его PID.
• Вывод можно фильтровать, например выводить
только вызовы open() или select().
47

48. strace

48

49. ltrace

• ltrace — утилита для трассировки библиотечных
вызовов — очень похожа на strace, но перехватывает
только вызовы к динамическим библиотекам.
49

50. ltrace

50

51. ldd

• Ldd – отображает используемые указанной
программой библиотеки
51

52. lsof

• lsof — выводит список открытых файлов с указанием,
по умолчанию выводит все подряд.
• Может выводить список для конкретного процесса по
PID
52

53. lsof

53

54. Где и как искать команды и опции к ним

• man {имя команды} выдаст синтаксис команды
• Можно найти в файле справки
• Bash Reference Manual
54

55. Учебный вопрос 3. Система XWindow

X Window System — оконная система, обеспечивающая
стандартные инструменты и протоколы для построения
графического интерфейса пользователя.
X Window System = X11 = X = «иксы»
https://www.x.org/wiki/
55

56. Функции XWindow

• Обеспечивает базовые функции графической среды:
• отрисовку и перемещение окон на экране
• взаимодействие с устройствами ввода, такими как,
например, мышь и клавиатура.
• X Window System не определяет деталей интерфейса
пользователя — этим занимаются менеджеры окон
56

57. Клиент-серверная архитектура XWindow

Графические приложения
могут выполняться на другой
машине в сети, а их интерфейс
при этом будет передаваться
по сети и отображаться на
локальной машине
пользователя
57

58. Учебный вопрос 4. Оконные менеджеры

• Менеджер окон X Window System — приложение,
работающее «поверх» X Window System и
определяющее интерфейс и взаимодействие с
пользователем
• Популярные:
• Gnome, KDE, Unity, Blackbox, Compiz, Xfce,
lxde…………………...
…………………………………………………………………………………………
………..
58

59.

59

60.

60

61.

61

62.

62

63.

63

64.

64

65. Учебный вопрос 5. Командный интерпретатор Windows

• Windows Shell – предоставляет доступ к большому
количеству объектов запущенных приложений, а
также для управления ОС
• cmd.exe — интерпретатор командной строки (англ.
command line interpreter) для операционных систем
OS/2, Windows CE и для семейства операционных
систем, базирующихся на Windows NT
65

66. Примеры команд

• shutdown -r -f -t 30 -c #«Мягкая» перезагрузка
компьютера через 30 сек.
• xcopy C:\folder1 D:\folder2 /e #Копирование
содержимого из одной папки в другую
• control userpasswords #вызов окна учетных записей
пользователей
• ping -t 8.8.8.8 #запуск утилиты ping в непрерывном
режиме
66

67. Windows PowerShell

• Windows PowerShell — расширяемое средство
автоматизации от Microsoft с открытым исходным
кодом, состоящее из оболочки с интерфейсом
командной строки и сопутствующего языка сценариев.
• Появился в сентябре 2003 г.
67

68.

Windows PowerShell
требует .Net
Framework…
68

69. Командлеты PowerShell

• Командлеты – специализированные классы .NET
• Командлеты именуются по правилу
Глагол-Существительное, например, Get-ChildItem
• Выводят результаты в виде объектов или их коллекций
69

70.

cmd.exe / COMM
Bash
AND.COM
(Unix, BSD,
(MS-DOS,
Описание
Linux, Mac OS X
Windows, OS/2,
и т. п.)
etc.)
cd
pwd
Отображает текущий рабочий каталог
Windows
PowerShell
(Cmdlet)
Windows
PowerShell
(Alias)
Get-Location
gl, pwd
Set-Location
sl, cd, chdir
cd, chdir
cd
Copy-Item
cpi, copy, cp
copy
cp
Get-Help
RemoveItem
RenameItem
help, man
ri, del, erase,
rmdir, rd, rm
help
del, erase, rmdir,
rd
man
rni, ren
ren, rename
mv
Переименовывает файл/каталог
Move-Item
mi, move, mv
move
mv
Перемещает файл/каталог в новое местоположение
gci, dir, ls
dir
ls
rm, rmdir
Меняет текущий каталог
Копирует один или несколько файлов или дерево директорий (в
PowerShell также можно копировать объекты других поставщиков данных)
Справка по командам
Удаляет файл/каталог (или другой элемент в поставщиках данных
PowerShell).
GetChildItem
WriteOutput
Get-Content
echo, write
echo
echo
gc, type, cat
type
cat
Select-String
sls
find, findstr
grep
Get-Process
gps, ps
tlist, tasklist
ps
Выводит все запущенные процессы
Stop-Process
spps, kill
kill, taskkill
kill
Останавливает запущенный процесс
Выводит все файлы/каталоги в текущем каталоге
Выводит строки, переменные на стандартный вывод
Получает содержимое файла
Выводит строки, подходящие под условие
70
English     Русский Правила