НОВАЯ ВОЛНА КОМАНДНАЯ ЭФФЕКТИВНОСТЬ_Развитие Лидеров Коучинг(1)
Командная строка Unix
Transcript of Командная строка Unix
![Page 1: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/1.jpg)
![Page 2: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/2.jpg)
![Page 3: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/3.jpg)
Виктор Ашик
куратор КИТ
Командная строка
![Page 4: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/4.jpg)
4
Командная строка жива
CLI - универсальный интерфейс:• параметры ядра ОС• режим диалога с пользователем• интерфейс взаимодействия между процессами
![Page 5: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/5.jpg)
5
Бывают cli-приложения:
• debug• edlin• fdisk• diskpart• ed• nslookup• virsh
![Page 6: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/6.jpg)
6
Интерпретаторы команд (оболочки)
• command.com• cmd.exe• sh (bash, ash, pdksh, zsh, busybox...)
![Page 7: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/7.jpg)
7
Интерфейсы устройств
• сетевое оборудование (Cisco IOS, Junos, коммутаторы)
• встроенные системы (busybox)• загрузчики (GRUB)
![Page 8: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/8.jpg)
8
Языки программирования в режиме REPL
Read–eval–print loop:
BASIC, Clojure, F#, Haskell, Perl, PHP, Python, Ruby, Scala, Tcl, Javascript
• Пример: python и ipython
![Page 9: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/9.jpg)
9
Бывает встроена в приложения
• видеоигры (Quake) (tilda)• инженерные (Matlab/Octave, Autocad)
![Page 10: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/10.jpg)
10
Термины
• System Console– Virtual Console– Command-Line Interface– Win32 console
• Terminal– Terminal Emulator
• TTY (teletype)
![Page 11: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/11.jpg)
11
Секреты управления с клавиатуры
• У каждой реализации свои особенности• Часто работают ^a ^e ^w ^s ^q• В Windows: Home/End/Esc/F3/F7/^C• Надо учить постепенно
– man readline
![Page 12: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/12.jpg)
12
Команды
• ЧтоДелать -о -опции --опция-с-аргументом КтоВиноват -о КтоВиноват Аргументы
• опции могут быть чувствительны к регистру
![Page 13: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/13.jpg)
13
Команды
• Встроенные команды• Исполняемые файлы (внешние)
– PATH
![Page 14: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/14.jpg)
14
Текущий каталог
• cd• pwd• pushd / popd
![Page 15: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/15.jpg)
15
Пути к файлам
• абсолютные• относительные
![Page 16: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/16.jpg)
16
Переменные (окружения)
• Путь поиска PATH• Формат приглашения PS1/PROMPT• Редактор EDITOR/VISUAL
![Page 17: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/17.jpg)
17
Шаблоны имен файлов
• ?• *• *.*
![Page 18: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/18.jpg)
18
Регулярные выражения
• .• .*
grep/findstr
![Page 19: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/19.jpg)
19
Конвейер
• ЧтоДелать -опции Аргументы | ЧтоДелать -опции Аргументы | ЧтоДелать
• Обычно по конвейеру передается текст• Иногда - объекты (PowerShell)
![Page 20: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/20.jpg)
20
Перенаправление
• ЧтоДелать > ФайлКудаПисатьВывод• ЧтоДелать < ФайлОткудаЧитать• ЧтоДелать 2> ФайлКудаПисатьОшибки• ЧтоДелать > ФайлКудаПисатьВсё 2>&1• ЧтоДелать &> ФайлКудаПисатьВсё
![Page 21: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/21.jpg)
21
Код возврата
• exit 0 # OK• exit 1 # not OK• exit 2 # not OK• ...
![Page 22: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/22.jpg)
22
Условное исполнение
• true && ТогдаВыполняем• false || ТогдаВыполняем• test -f /etc/passwd && ЕслиОК || ЕслиНеОК
![Page 23: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/23.jpg)
23
Условное исполнение
if test -f /etc/lsb-release; thencat /etc/lsb-releaseelif [ -f /etc/redhat-release ];
cat /etc/redhat-release ; fi
![Page 24: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/24.jpg)
24
Циклы
for f in *.html; do cp -p $f $f~;donefind . -name *.html -print0|xargs -I{} cp -p {} {}~
![Page 25: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/25.jpg)
25
Запуск нескольких процессов на одном терминале
• ДолгоРаботающаяКоманда &• man jobs• ^Z• jobs• kill %1• fg 2• ДолгоРаботающаяКоманда• ^Z• bg• jobs
![Page 26: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/26.jpg)
26
Unix и DEC стили опций и разделителей
• / и \ - разделитель имен каталогов в стиле Unix и DEC
• - и / - опции в стиле Unix и DEC• -- - разделитель опций в стиле GNU (--help)
![Page 27: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/27.jpg)
27
Порядок опций и аргументов
• фиксированный (BSD)ls -ltr /etc
• произвольный (GNU)ls /etc -ltr
![Page 28: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/28.jpg)
28
Сценарии (пакетные файлы)
• sh-bang#!/bin/sh#!/usr/bin/env python
• разбор параметров командной строки в sh• Внешние инструменты:
– sed– awk– perl– ...
![Page 29: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/29.jpg)
29
Источники информации
• manman 1 printf
• helphelp test
• infoinfo coreutilsinfo sed
• perldoc / man perlfaq6
![Page 30: Командная строка Unix](https://reader033.fdocument.pub/reader033/viewer/2022052905/5587891ed8b42a4c318b463e/html5/thumbnails/30.jpg)
30
Домашнее задание
• Найти и заменить во всех файлах .html подстроку КИТ на ШРИ в тэге <title></title>
• Обеспечить возможность отмены изменения