Similar presentations:
Особенности работы в консольном и графическом режиме
1. Особенности работы в консольном и графическом режиме
Тема № 142. Учебные вопросы
1.2.
3.
4.
5.
Оболочка командной строки
Командный интерпретатор UNIX
Система XWindow
Оконные менеджеры
Командная интерпретатор Windows
2
3. Учебный вопрос 1. Оболочка командной строки
Командный интерпретатор = Интерпретаторкомандной строки - компьютерная программа, часть
операционной системы, обеспечивающая базовые
возможности управления компьютером посредством
интерактивного ввода команд через интерфейс
командной строки или последовательного исполнения
пакетных командных файлов
3
4. Функции командной строки
• Возможность двунаправленноговзаимодействия с пользователем
• Скриптовый язык программирования
• Перенаправление ввода-вывода команд
4
5. Преимущества консоли
• Меньшее потребление ресурсов• Не нужна мышь!
• Набрать команду быстрее, чем навигация по меню
5
6.
Разве это удобно?6
7. Аналог в консоли
78. Командный интерпретатор
• Компьютерная программа, часть операционнойсистемы, обеспечивающая базовые возможности
управления компьютером посредством
интерактивного ввода команд через интерфейс
командной строки или последовательного исполнения
пакетных командных файлов
8
9. Функции командного интерпретатора
• Взаимодействие с пользователем• Обработка (расширение) шаблонов имен
• Перенаправление ввода-вывода команд
• Управление заданиями
9
10. Командный интерпретатор Windows
1011. Учебный вопрос 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/bashSTR="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
2526. Виды командных оболочек
shbash – наиболее популярная и распространенная
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. Псевдографическая оболочка управления файловой системой МС
3738. top
top — отображение процессов linux — кроме этогоотображает uptime, load average, число выполняющихся
задач и тредов.
38
39. top
3940. htop
Все возможности top + дружественный интерфейсумеет вызывать lsof, strace и ltrace для выбранного
процесса
40
41. htop
4142. iotop
iotop — top-подобная утилита для мониторинга нагрузки надиск, выводит таблицу процессов с текущими показателями
использования дискового ввода/вывода, такими как:
— PRIO — приоритет процесса,
— DISK READ — чтение с диска Байт/сек,
— DISK WRITE — запись на диск Байт/сек,
— SWAPIN — время (в процентном соотношении)
потраченное процессом на свопинг,
— IO — время (в процентном соотношении) потраченное
процессом на ожидание ввода/вывода.
42
43. iftop
4344. iptraf
4445. vmstat
vmstat — выводит суммарную информацию опроцессах, памяти, вводе/выводе, активности
процессора и дисков. В отличии от iotop не требует
привилегий суперпользователя
45
46. Диагностика сбоев
straceltrace
ldd
lsof
46
47. strace
• strace — утилита позволяет перехватывать системныевызовы и сигналы запускаемого процесса либо уже
запущенного процесса по его PID.
• Вывод можно фильтровать, например выводить
только вызовы open() или select().
47
48. strace
4849. ltrace
• ltrace — утилита для трассировки библиотечныхвызовов — очень похожа на strace, но перехватывает
только вызовы к динамическим библиотекам.
49
50. ltrace
5051. ldd
• Ldd – отображает используемые указаннойпрограммой библиотеки
51
52. lsof
• lsof — выводит список открытых файлов с указанием,по умолчанию выводит все подряд.
• Может выводить список для конкретного процесса по
PID
52
53. lsof
5354. Где и как искать команды и опции к ним
• 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.
5960.
6061.
6162.
6263.
6364.
6465. Учебный вопрос 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 / COMMBash
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