ݺߣ

ݺߣShare a Scribd company logo
ВВЕДЕНИЕ В GNU/LINUX
Образовательный центр Парка высоких технологий
March 2, 2019
1 Working with text data
2 Search and process files with find
3 Package management system
Образовательный центр Парка высоких технологий 1
Текст в Unix
В Unix (и Linux) в виде обычного текста или plain text
представлены:
1
в каталоге $HOME
2
в каталоге /etc
3
справедливо для syslog и совместимых систем
Образовательный центр Парка высоких технологий 1
Текст в Unix
В Unix (и Linux) в виде обычного текста или plain text
представлены:
• конфигурационные файлы, как локальные1 , так и
общесистемные2
1
в каталоге $HOME
2
в каталоге /etc
3
справедливо для syslog и совместимых систем
Образовательный центр Парка высоких технологий 1
Текст в Unix
В Unix (и Linux) в виде обычного текста или plain text
представлены:
• конфигурационные файлы, как локальные1 , так и
общесистемные2
• системные логи3
• исходные тексты программ, включая скрипты на Shell
• основной формат ввода и (или) вывода данных для
множества программ и утилит
1
в каталоге $HOME
2
в каталоге /etc
3
справедливо для syslog и совместимых систем
Образовательный центр Парка высоких технологий 1
Текстовый фильтр
Определение:
Текстовый фильтр - программа, обрабатывающая и
преобразующая текст.
Пример: man | tac | rev
• Фильтр, запущенный без параметров - читает
стандартный ввод.
• Параметры фильтра - интерпретируются как имена
файлов
• Ключи фильтра - управляют режимами работы
Образовательный центр Парка высоких технологий 2
Текстовый фильтр
Определение:
Текстовый фильтр - программа, обрабатывающая и
преобразующая текст.
Пример: man | tac | rev
• Фильтр, запущенный без параметров - читает
стандартный ввод.
• Параметры фильтра - интерпретируются как имена
файлов
• Ключи фильтра - управляют режимами работы
Фильтр почти всегда используется совместно с
перенаправлением ввода-вывода Shell (особенно ʼ|ʼ, pipes).
cmd1 | cmd2
Образовательный центр Парка высоких технологий 2
Разбираем пример использования фильтров.
Cчитаем участников тренинга используя текстовые
фильтры.
1 cat / tmp / chat # посмотретьсодержимое
2 cat / tmp / chat | grep AM # строкисовременем AM
3 cat / tmp / chat | grep −e AM −e PM #
строкисовременем AM и PM
4 grep −e AM −e PM / tmp / chat | so r t # сортируем
5 grep −e AM −e PM / tmp / chat | so r t | cut −f 1 ,2
−d ʼ ʼ # оставитьимяфамилия
6 grep −e AM −e PM / tmp / chat | so r t | cut −f 1 ,2
−d ʼ ʼ | uniq # удалитьдубликаты
7 grep −e AM −e PM / tmp / chat | so r t | cut −f 1 ,2
−d ʼ ʼ | uniq | wc −l # считаемстроки
Образовательный центр Парка высоких технологий 3
Простые текстовые фильтры
Соглашения о параметрах: ʼ-ʼ как имя файла обозначает
стандартный ввод.
• cat и tac - вывести файл целиком
• head и tail - вывести начало и конец файла
• sort и uniq - сортировка и убрать повторы в
отсортированном
• paste - объединить файлы построчно
• wc - счётчик строк, слов и байт в тексте
• grep - поиск по образцу
Образовательный центр Парка высоких технологий 4
Метасимволы
grep, sed, awk
• . – любой символ за исключением пустой строки
• * – любоe количество символов, которые стоят перед *
• ^ – начало строки
• $ – конец строки
• [...] – любой символ из заключенных в скобки
Образовательный центр Парка высоких технологий 5
Текстовые редакторы
• Интерактивные
• vi
• vim
• emacs
• nano
• Поточные
• ed
• sed
• awk
Образовательный центр Парка высоких технологий 6
sed
Сценарии
[ addr [ , addr ] ] cmd [ args ]
Команды
• d – удалить строку
who | sed -e '10 d'
who | sed -e '2,4 d'
who | sed -e '/pts/ d'
• s – замена по регулярному выражению
who | sed -e "s/USER/user/g"
Образовательный центр Парка высоких технологий 7
awk
1 cat / etc / passwd | awk −F : ʼ { p r i n t $3 , $4 } ʼ
Образовательный центр Парка высоких технологий 8
1 Working with text data
2 Search and process files with find
3 Package management system
Образовательный центр Парка высоких технологий 9
Файловая система. Данные и метаданные.
Упражнение. Выполнить команды.
Расскажите что получили.
cat /etc/passwd
stat /etc/passwd
Образовательный центр Парка высоких технологий 9
Файловая система. Данные и метаданные.
Упражнение. Выполнить команды.
Расскажите что получили.
cat /etc/passwd
stat /etc/passwd
Матаданные - информация о файле.
• Размер файла
• Владелец и права доступа
• Время доступа, изменения
Образовательный центр Парка высоких технологий 9
Поиск файлов командой find
find ищет файлы в заданной директории и производит над ним
заданную операцию.
Часто используемые параметры поиска
• -name, -iname – имя файлового объекта, включая
метасимволы
• -type – тип файлового объекта
• -size – размер [cwbkMG]
• -perm – права доступа
• -user – владелец
• ... – другие опции man find
Образовательный центр Парка высоких технологий 10
Файлы найдены
Действия над результом поиска
• -print – вывод на stdout (по умолчанию)
• -printf – форматированный вывод
• -exec – выполнить команду
• -ls – замена -exec ls -l {} ;
• -delete – удалить файл
Образовательный центр Парка высоких технологий 11
Примеры использования команды find
В текущей директории найти все файлы *.o и вывести на экран
find . -name '*.o' -print
find -name '*.o'
Поск по типу и владельцу файла.
find -type d -user altlinux
Составная команда, множество условий
find /root ( -name '*.pyc' -o -name '*.py' ) 
-type f -user root -size +300k -size -1024k 
-exec ls -l {} ;
Дополнительно: позволяет преодолеть лимит на кол-во
аргументов в командной строке. “Arguments too long.”
Образовательный центр Парка высоких технологий 12
1 Working with text data
2 Search and process files with find
3 Package management system
Образовательный центр Парка высоких технологий 13
Software installation
How to install software to computer? Please describe process step
by step.
Образовательный центр Парка высоких технологий 13
Software installation
How to install software to computer? Please describe process step
by step.
1 Find application
Образовательный центр Парка высоких технологий 13
Software installation
How to install software to computer? Please describe process step
by step.
1 Find application
2 Download installation package or source code
Образовательный центр Парка высоких технологий 13
Software installation
How to install software to computer? Please describe process step
by step.
1 Find application
2 Download installation package or source code
3 Run installer or complie
Package management system automates this process.
Образовательный центр Парка высоких технологий 13
Задачи системы управления пакетами.
• избежать Dependency hell
• Общие задачи пакетного менеджера:
• Проверка целостности пакетов
• Проверка зависимостей пакетов
• Поддержание списка установленных пакетов
• Автоматическое удаление пакетов
• Предоставление доступа к репозиторию пакетов
• Разрешение зависимостей
Образовательный центр Парка высоких технологий 14
Репозиторий
Репозиторий пакетов
Место, где хранятся и поддерживаются пакеты, а также
сопутствующая мета-информация, предназначенное для
использования пакетным менеджером.
Пример: Fedora Core
• Packages/*.rpm
• RPM-GPG-KEY-*
• repodata
• множество сжатых и несжатых XML файлов для YUM
Описание репозтория для YUM на локальной системе хранится
по пути /etc/yum.repos.d/*.repo
Образовательный центр Парка высоких технологий 15
RPM: структура пакета
• Метаданные
• Имя
• Версия/Релиз
• Группа
• Описание
• Зависимости
• ...
• Архив с файлами
• cpio
• Скрипты
• Pre Install
• Post Install
• Pre Uninstall
• Post Uninstall
• Triggers
Образовательный центр Парка высоких технологий 16
Два уровня пакетных менеджеров
Level RedHat-based Debian-based
Low rpm dpkg
High yum, dnf apt, aptitude
Низкоуровневые используются для установки, удаления,
получения информации о пакете.
Высокоуровневые предоставляют дополнительные функции
такие как поиск по репозиторию, копирование пакета из
репозитория, разрешение зависимостей, обновление системы.
Образовательный центр Парка высоких технологий 17
Команды пакетных менеджеров
Установка пакета
Debian apt-get install pkgname
CentOS yum install pkgname
Обновление пакета
Debian apt-get install pkgname
CentOS yum update pkgname
Удаление пакета
Debian apt-get remove pkgname
CentOS yum remove pkgname
Поиск. По имени пакета
Debian apt-cache search pkgname
CentOS yum list pkgname
Поиск. По строке.
Debian aptitude search '~dtmux'
CentOS yum whatprovides tmux
Образовательный центр Парка высоких технологий 18

More Related Content

What's hot (20)

Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Anastasia Lubennikova
Пакетирование для Debian/Ubuntu
Пакетирование для Debian/UbuntuПакетирование для Debian/Ubuntu
Пакетирование для Debian/Ubuntu
samsolutionsby
Уязвимости сервисов
Уязвимости сервисовУязвимости сервисов
Уязвимости сервисов
Positive Hack Days
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
Команды Ms dos
Команды Ms dosКоманды Ms dos
Команды Ms dos
Надежда Власовец
Web осень 2013 лекция 9
Web осень 2013 лекция 9Web осень 2013 лекция 9
Web осень 2013 лекция 9
Technopark
присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1
Liudmila Li
Владимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОСВладимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОС
Yandex
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптахПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
revisium
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценарияхПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Positive Hack Days
About Python
About PythonAbout Python
About Python
Yury Yurevich
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кодаHacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
Anastasia Lubennikova
Web осень 2013 лекция 5
Web осень 2013 лекция 5Web осень 2013 лекция 5
Web осень 2013 лекция 5
Technopark
Владислав Животнев - Основы DNS
Владислав Животнев - Основы DNSВладислав Животнев - Основы DNS
Владислав Животнев - Основы DNS
Yandex
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Python Meetup
Web весна 2012 лекция 3
Web весна 2012 лекция 3Web весна 2012 лекция 3
Web весна 2012 лекция 3
Technopark
О безопасном использовании PHP wrappers
О безопасном использовании PHP wrappersО безопасном использовании PHP wrappers
О безопасном использовании PHP wrappers
Positive Hack Days
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Hacking PostgreSQL. Локальная память процессов. Контексты памяти.
Anastasia Lubennikova
Пакетирование для Debian/Ubuntu
Пакетирование для Debian/UbuntuПакетирование для Debian/Ubuntu
Пакетирование для Debian/Ubuntu
samsolutionsby
Уязвимости сервисов
Уязвимости сервисовУязвимости сервисов
Уязвимости сервисов
Positive Hack Days
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
Web осень 2013 лекция 9
Web осень 2013 лекция 9Web осень 2013 лекция 9
Web осень 2013 лекция 9
Technopark
присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1присяжный Root Conf2009 Beta 1
присяжный Root Conf2009 Beta 1
Liudmila Li
Владимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОСВладимир Иванов - Безопасность Unix-подобных ОС
Владимир Иванов - Безопасность Unix-подобных ОС
Yandex
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптахПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
revisium
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценарияхПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Positive Hack Days
Hacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кодаHacking PostgreSQL. Обзор исходного кода
Hacking PostgreSQL. Обзор исходного кода
Anastasia Lubennikova
Web осень 2013 лекция 5
Web осень 2013 лекция 5Web осень 2013 лекция 5
Web осень 2013 лекция 5
Technopark
Владислав Животнев - Основы DNS
Владислав Животнев - Основы DNSВладислав Животнев - Основы DNS
Владислав Животнев - Основы DNS
Yandex
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Python Meetup
Web весна 2012 лекция 3
Web весна 2012 лекция 3Web весна 2012 лекция 3
Web весна 2012 лекция 3
Technopark
О безопасном использовании PHP wrappers
О безопасном использовании PHP wrappersО безопасном использовании PHP wrappers
О безопасном использовании PHP wrappers
Positive Hack Days

Similar to Linux basics. Занятие 3. (20)

SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.
Igor Shkulipa
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
7bits
08 linux-course
08 linux-course08 linux-course
08 linux-course
Vikentsi Lapa
п о файловая система
п о файловая системап о файловая система
п о файловая система
krasoa2009
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
Yandex
Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка Unix
Yandex
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора
Yandex
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинопись
Andrey Rebrov
C++ осень 2012 лекция 9
C++ осень 2012 лекция 9C++ осень 2012 лекция 9
C++ осень 2012 лекция 9
Technopark
Операционные системы GNU/Linux
Операционные системы GNU/LinuxОперационные системы GNU/Linux
Операционные системы GNU/Linux
Mikhail Chinkov
Romanova techforum bash
Romanova techforum bashRomanova techforum bash
Romanova techforum bash
kuchinskaya
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
Yandex
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)
AvitoTech
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
Solaris OS
Solaris OSSolaris OS
Solaris OS
SSA KPI
Операционные системы
Операционные системыОперационные системы
Операционные системы
yaevents
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.
Igor Shkulipa
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
7bits
п о файловая система
п о файловая системап о файловая система
п о файловая система
krasoa2009
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
Yandex
Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка Unix
Yandex
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора
Yandex
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинопись
Andrey Rebrov
C++ осень 2012 лекция 9
C++ осень 2012 лекция 9C++ осень 2012 лекция 9
C++ осень 2012 лекция 9
Technopark
Операционные системы GNU/Linux
Операционные системы GNU/LinuxОперационные системы GNU/Linux
Операционные системы GNU/Linux
Mikhail Chinkov
Romanova techforum bash
Romanova techforum bashRomanova techforum bash
Romanova techforum bash
kuchinskaya
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
Yandex
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)
AvitoTech
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
Операционные системы
Операционные системыОперационные системы
Операционные системы
yaevents
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov

Linux basics. Занятие 3.

  • 1. ВВЕДЕНИЕ В GNU/LINUX Образовательный центр Парка высоких технологий March 2, 2019
  • 2. 1 Working with text data 2 Search and process files with find 3 Package management system Образовательный центр Парка высоких технологий 1
  • 3. Текст в Unix В Unix (и Linux) в виде обычного текста или plain text представлены: 1 в каталоге $HOME 2 в каталоге /etc 3 справедливо для syslog и совместимых систем Образовательный центр Парка высоких технологий 1
  • 4. Текст в Unix В Unix (и Linux) в виде обычного текста или plain text представлены: • конфигурационные файлы, как локальные1 , так и общесистемные2 1 в каталоге $HOME 2 в каталоге /etc 3 справедливо для syslog и совместимых систем Образовательный центр Парка высоких технологий 1
  • 5. Текст в Unix В Unix (и Linux) в виде обычного текста или plain text представлены: • конфигурационные файлы, как локальные1 , так и общесистемные2 • системные логи3 • исходные тексты программ, включая скрипты на Shell • основной формат ввода и (или) вывода данных для множества программ и утилит 1 в каталоге $HOME 2 в каталоге /etc 3 справедливо для syslog и совместимых систем Образовательный центр Парка высоких технологий 1
  • 6. Текстовый фильтр Определение: Текстовый фильтр - программа, обрабатывающая и преобразующая текст. Пример: man | tac | rev • Фильтр, запущенный без параметров - читает стандартный ввод. • Параметры фильтра - интерпретируются как имена файлов • Ключи фильтра - управляют режимами работы Образовательный центр Парка высоких технологий 2
  • 7. Текстовый фильтр Определение: Текстовый фильтр - программа, обрабатывающая и преобразующая текст. Пример: man | tac | rev • Фильтр, запущенный без параметров - читает стандартный ввод. • Параметры фильтра - интерпретируются как имена файлов • Ключи фильтра - управляют режимами работы Фильтр почти всегда используется совместно с перенаправлением ввода-вывода Shell (особенно ʼ|ʼ, pipes). cmd1 | cmd2 Образовательный центр Парка высоких технологий 2
  • 8. Разбираем пример использования фильтров. Cчитаем участников тренинга используя текстовые фильтры. 1 cat / tmp / chat # посмотретьсодержимое 2 cat / tmp / chat | grep AM # строкисовременем AM 3 cat / tmp / chat | grep −e AM −e PM # строкисовременем AM и PM 4 grep −e AM −e PM / tmp / chat | so r t # сортируем 5 grep −e AM −e PM / tmp / chat | so r t | cut −f 1 ,2 −d ʼ ʼ # оставитьимяфамилия 6 grep −e AM −e PM / tmp / chat | so r t | cut −f 1 ,2 −d ʼ ʼ | uniq # удалитьдубликаты 7 grep −e AM −e PM / tmp / chat | so r t | cut −f 1 ,2 −d ʼ ʼ | uniq | wc −l # считаемстроки Образовательный центр Парка высоких технологий 3
  • 9. Простые текстовые фильтры Соглашения о параметрах: ʼ-ʼ как имя файла обозначает стандартный ввод. • cat и tac - вывести файл целиком • head и tail - вывести начало и конец файла • sort и uniq - сортировка и убрать повторы в отсортированном • paste - объединить файлы построчно • wc - счётчик строк, слов и байт в тексте • grep - поиск по образцу Образовательный центр Парка высоких технологий 4
  • 10. Метасимволы grep, sed, awk • . – любой символ за исключением пустой строки • * – любоe количество символов, которые стоят перед * • ^ – начало строки • $ – конец строки • [...] – любой символ из заключенных в скобки Образовательный центр Парка высоких технологий 5
  • 11. Текстовые редакторы • Интерактивные • vi • vim • emacs • nano • Поточные • ed • sed • awk Образовательный центр Парка высоких технологий 6
  • 12. sed Сценарии [ addr [ , addr ] ] cmd [ args ] Команды • d – удалить строку who | sed -e '10 d' who | sed -e '2,4 d' who | sed -e '/pts/ d' • s – замена по регулярному выражению who | sed -e "s/USER/user/g" Образовательный центр Парка высоких технологий 7
  • 13. awk 1 cat / etc / passwd | awk −F : ʼ { p r i n t $3 , $4 } ʼ Образовательный центр Парка высоких технологий 8
  • 14. 1 Working with text data 2 Search and process files with find 3 Package management system Образовательный центр Парка высоких технологий 9
  • 15. Файловая система. Данные и метаданные. Упражнение. Выполнить команды. Расскажите что получили. cat /etc/passwd stat /etc/passwd Образовательный центр Парка высоких технологий 9
  • 16. Файловая система. Данные и метаданные. Упражнение. Выполнить команды. Расскажите что получили. cat /etc/passwd stat /etc/passwd Матаданные - информация о файле. • Размер файла • Владелец и права доступа • Время доступа, изменения Образовательный центр Парка высоких технологий 9
  • 17. Поиск файлов командой find find ищет файлы в заданной директории и производит над ним заданную операцию. Часто используемые параметры поиска • -name, -iname – имя файлового объекта, включая метасимволы • -type – тип файлового объекта • -size – размер [cwbkMG] • -perm – права доступа • -user – владелец • ... – другие опции man find Образовательный центр Парка высоких технологий 10
  • 18. Файлы найдены Действия над результом поиска • -print – вывод на stdout (по умолчанию) • -printf – форматированный вывод • -exec – выполнить команду • -ls – замена -exec ls -l {} ; • -delete – удалить файл Образовательный центр Парка высоких технологий 11
  • 19. Примеры использования команды find В текущей директории найти все файлы *.o и вывести на экран find . -name '*.o' -print find -name '*.o' Поск по типу и владельцу файла. find -type d -user altlinux Составная команда, множество условий find /root ( -name '*.pyc' -o -name '*.py' ) -type f -user root -size +300k -size -1024k -exec ls -l {} ; Дополнительно: позволяет преодолеть лимит на кол-во аргументов в командной строке. “Arguments too long.” Образовательный центр Парка высоких технологий 12
  • 20. 1 Working with text data 2 Search and process files with find 3 Package management system Образовательный центр Парка высоких технологий 13
  • 21. Software installation How to install software to computer? Please describe process step by step. Образовательный центр Парка высоких технологий 13
  • 22. Software installation How to install software to computer? Please describe process step by step. 1 Find application Образовательный центр Парка высоких технологий 13
  • 23. Software installation How to install software to computer? Please describe process step by step. 1 Find application 2 Download installation package or source code Образовательный центр Парка высоких технологий 13
  • 24. Software installation How to install software to computer? Please describe process step by step. 1 Find application 2 Download installation package or source code 3 Run installer or complie Package management system automates this process. Образовательный центр Парка высоких технологий 13
  • 25. Задачи системы управления пакетами. • избежать Dependency hell • Общие задачи пакетного менеджера: • Проверка целостности пакетов • Проверка зависимостей пакетов • Поддержание списка установленных пакетов • Автоматическое удаление пакетов • Предоставление доступа к репозиторию пакетов • Разрешение зависимостей Образовательный центр Парка высоких технологий 14
  • 26. Репозиторий Репозиторий пакетов Место, где хранятся и поддерживаются пакеты, а также сопутствующая мета-информация, предназначенное для использования пакетным менеджером. Пример: Fedora Core • Packages/*.rpm • RPM-GPG-KEY-* • repodata • множество сжатых и несжатых XML файлов для YUM Описание репозтория для YUM на локальной системе хранится по пути /etc/yum.repos.d/*.repo Образовательный центр Парка высоких технологий 15
  • 27. RPM: структура пакета • Метаданные • Имя • Версия/Релиз • Группа • Описание • Зависимости • ... • Архив с файлами • cpio • Скрипты • Pre Install • Post Install • Pre Uninstall • Post Uninstall • Triggers Образовательный центр Парка высоких технологий 16
  • 28. Два уровня пакетных менеджеров Level RedHat-based Debian-based Low rpm dpkg High yum, dnf apt, aptitude Низкоуровневые используются для установки, удаления, получения информации о пакете. Высокоуровневые предоставляют дополнительные функции такие как поиск по репозиторию, копирование пакета из репозитория, разрешение зависимостей, обновление системы. Образовательный центр Парка высоких технологий 17
  • 29. Команды пакетных менеджеров Установка пакета Debian apt-get install pkgname CentOS yum install pkgname Обновление пакета Debian apt-get install pkgname CentOS yum update pkgname Удаление пакета Debian apt-get remove pkgname CentOS yum remove pkgname Поиск. По имени пакета Debian apt-cache search pkgname CentOS yum list pkgname Поиск. По строке. Debian aptitude search '~dtmux' CentOS yum whatprovides tmux Образовательный центр Парка высоких технологий 18