Что такое Linux

Содержание

Слайд 2

Структура курса Workshop 1. Basics Workshop 2. Text Editors, Rights and

Структура курса

Workshop 1. Basics
Workshop 2. Text Editors, Rights and Redirection
Workshop 3.

Networks
Workshop 4. Packages and Processes
Test
Wiki: Linux Essentials for QA
Слайд 3

Часть1: Что такое Linux? Зачем он нам нужен? Дистрибутивы. Какие бывают

Часть1:

Что такое Linux?
Зачем он нам нужен?
Дистрибутивы. Какие бывают и

где взять?
Что такое GNU и GPL?
UNIX - это Linux?
Слайд 4

Что такое Linux? Linux - это операционная система. Сам по себе

Что такое Linux?

Linux - это операционная система.
Сам по себе Linux

- это ядро системы, соответствующее стандартам POSIX.
Ядро Linux поддерживает многозадачность, виртуальную память, динамические библиотеки, отложенную загрузку, производительную систему управления памятью и многие сетевые протоколы. Ядро также поддерживает загружаемые модули (например, драйверы).
Слайд 5

UNIX - это Linux? Или Linux – это Unix? Основное, что

UNIX - это Linux? Или Linux – это Unix?

Основное, что нам

сейчас надо знать о UNIX, это то, что Linux != Unix.
Unix - это отдельная операционная система.
Linux - Unix-подобная операционная система.
Слайд 6

GNU, GNU/Linux, GPL GNU — свободная Unix-подобная операционная система, разрабатываемая Проектом

GNU, GNU/Linux, GPL

GNU — свободная Unix-подобная операционная система, разрабатываемая Проектом GNU.


Ядро Linux и утилиты GNU = GNU/Linux.
GPL (GNU General Public License) — лицензия на свободное программное обеспечение.
Слайд 7

Зачем нам вообще нужен Linux? W3school statistic: http://www.w3schools.com/browsers/browsers_os.asp

Зачем нам вообще нужен Linux?

W3school statistic:
http://www.w3schools.com/browsers/browsers_os.asp

Слайд 8

Среди суперкомпьютеров доля OS Linux > 90% Среди веб серверов доля

Среди суперкомпьютеров доля OS Linux > 90%
Среди веб серверов доля Linux

составляет примерно треть: 36.2%

Главное правильно выбрать критерий оценки

Слайд 9

Дистрибутивы Дистрибутив Linux - общее определение операционных систем, использующих ядро Linux,

Дистрибутивы

Дистрибутив Linux - общее определение операционных систем, использующих ядро Linux, готовых

для конечной установки на пользовательское оборудование.
Кроме ядра и, собственно, операционной системы, дистрибутивы обычно содержат широкий набор приложений, таких как редакторы документов и таблиц, мультимедиа-проигрыватели, системы для работы с базами данных, и т. д.
Слайд 10

Список дистрибутивов http://futurist.se/gldt/ - временное дерево появления дистрибутивов. https://en.wikipedia.org/wiki/List_of_Linux_distributions - список дистрибутивов.

Список дистрибутивов

http://futurist.se/gldt/ - временное дерево появления дистрибутивов.
https://en.wikipedia.org/wiki/List_of_Linux_distributions - список дистрибутивов.

Слайд 11

Популярность дистрибутивов http://distrowatch.com/ - общее ранжирование дистрибутивов Linux по популярности Ранжирование среди веб серверов: (http://w3techs.com/technologies/details/os-linux/all/all)

Популярность дистрибутивов

http://distrowatch.com/ - общее ранжирование дистрибутивов Linux по популярности
Ранжирование среди веб

серверов:
(http://w3techs.com/technologies/details/os-linux/all/all)
Слайд 12

Server vs. Desktop Отличие обычно в числе сопутствующего программного обеспечения, доступного сразу после установки OS.

Server vs. Desktop

Отличие обычно в числе сопутствующего программного обеспечения, доступного сразу

после установки OS.
Слайд 13

Часть2: Терминал SSH help, man, info echo

Часть2:

Терминал
SSH
help, man, info
echo

Слайд 14

CLI (command line interface) Интерфейс командной строки (англ. Command Line Interface,

CLI (command line interface)

Интерфейс командной строки (англ. Command Line Interface, CLI). - управление

программами с помощью команд. Данный интерфейс встроен в ядро системы, он будет доступен, даже если графический интерфейс не запустится. 
http://help.ubuntu.ru
Слайд 15

SSH SSH - cетевой протокол, позволяющий производить удаленное подключение к OS

SSH

SSH - cетевой протокол, позволяющий производить удаленное подключение к OS и

осуществлять управление ею через CLI.
https://help.ubuntu.com/community/SSH
http://support.suso.com/supki/SSH_Tutorial_for_Linux
Слайд 16

SSH/SFTP клиенты Неполный список ssh клиентов: https://ru.wikipedia.org/wiki/SSH putty (https://en.wikipedia.org/wiki/PuTTY, http://www.chiark.greenend.org.uk/~sgtatham/putty/) WinSCP (https://winscp.net/eng/index.php) MobaXTerm (http://mobaxterm.mobatek.net/)

SSH/SFTP клиенты

Неполный список ssh клиентов: https://ru.wikipedia.org/wiki/SSH
putty (https://en.wikipedia.org/wiki/PuTTY, http://www.chiark.greenend.org.uk/~sgtatham/putty/)
WinSCP (https://winscp.net/eng/index.php)
MobaXTerm (http://mobaxterm.mobatek.net/)

Слайд 17

putty

putty

Слайд 18

Cтрока приглашения root@AdaptationQA01:~# root – имя пользователя, под учетной записью которого

Cтрока приглашения

root@AdaptationQA01:~#
root – имя пользователя, под учетной записью которого осуществлен вход

в систему
AdaptationQA01 – короткое сетевое имя машины
~ – текущая директория (~),
# или $ - он показывает, что оболочка командной строки была запущена привилегированным пользователем root (‘#’) или обычным пользователем (‘$’)
Слайд 19

uname Команда uname выводит информацию о системе. root@AdaptationQ01:~# uname Linux

uname

Команда uname выводит информацию о системе.
root@AdaptationQ01:~# uname
Linux

Слайд 20

Ключи: uname –a root@AdaptationQA01:~# uname -a Linux AdaptationQA01 3.13.0-29-generic #53-Ubuntu SMP

Ключи: uname –a

root@AdaptationQA01:~# uname -a
Linux AdaptationQA01 3.13.0-29-generic #53-Ubuntu SMP Wed Jun

4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
uname
-a, --all print all information
-s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system
Слайд 21

help Большинство команд имеют встроенную справку. Вызывается обычно ключом --help root@AdaptationQA02:~#

help

Большинство команд имеют встроенную справку. Вызывается обычно ключом --help
root@AdaptationQA02:~# uname --help
-a,

--all print all information
-s, --kernel-name print the kernel name -n, --nodename print the network node hostname -r, --kernel-release print the kernel release -v, --kernel-version print the kernel version -m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown" -o, --operating-system print the operating system
Слайд 22

man man — команда, предназначенная для форматирования и вывода справочных страниц (https://en.wikipedia.org/wiki/Man_page) Формат использования: man

man

man — команда, предназначенная для форматирования и вывода справочных страниц (https://en.wikipedia.org/wiki/Man_page)
Формат

использования:
man
Слайд 23

info info - альтернатива man. Для получения информации по отдельной команде

info

info - альтернатива man.
Для получения информации по отдельной команде надо

задать в командной строке info с параметром, являющимся именем интересующей команды. Например:
root@AdaptationQA01:~# info uname
Слайд 24

ECHO Все, что делает команда echo, - выводит текст, переданный ей

ECHO

Все, что делает команда echo, - выводит текст, переданный ей в

качестве аргумента на стандартное устройство вывода. В нашем случае - в консоль.
# echo A1QA
A1QA
# echo "Linux Essentials for QA"
Linux Essentials for QA
Зачем: обычно используется в скриптах для вывода необходимой информации в консоль
Слайд 25

Создание пустого файла Для создания пустого файла используется команда touch file1.

Создание пустого файла

Для создания пустого файла используется команда touch file1.
Можно командой echo 'Hello, world' >

file2
или cat > file3 + + или +.
С помощью консольных текстовых редакторов vi, nano либо команд перенаправления вывода
Слайд 26

Часть3 Навигация по файловой системе: cd. Корневой каталог, текущий каталог, родительский

Часть3

Навигация по файловой системе: cd.
Корневой каталог, текущий каталог, родительский каталог, домашний

каталог.
Абсолютный и относительный путь.
Навигация по файловой системе: ls.
Структура каталогов файловой системы
Слайд 27

Корневой каталог / Файловая система Linux имеет единую древовидную структуру, в

Корневой каталог /

Файловая система Linux имеет единую древовидную структуру, в основе которой

лежит корневой каталог.
Корневой каталог  - это уровень файловой системы, выше которого по дереву каталогов подняться невозможно. В Linux корневой каталог обозначается как / (именно “/” - слэш, а не “\” - обратный слэш). 
Слайд 28

cd Навигация по файловой системе осуществляется командой cd. В качестве параметра

cd

Навигация по файловой системе осуществляется командой cd. В качестве параметра команде

передается путь к директории, в которую пользователь желает перейти. Пример: пользователь хочет перейти в директорию /var/log
root@AdaptationQA02:~# cd /var/log
root@AdaptationQA02:/var/log#
Переход в одну из папок каталога пользователя
root@AdaptationQA02:/# cd /home/user01/workshop1/
root@AdaptationQA02:/home/user01/workshop1#
Слайд 29

ls Для просмотра содержимого текущей директории используется команда ls. root@AdaptationQA02:workshop1# ls

ls

Для просмотра содержимого текущей директории используется команда ls.
root@AdaptationQA02:workshop1# ls
file1 file2 file3

file4 file5 folder1_448 folder2_25896 folder3_11089
Просмотр содержимого директории folder1_448
root@AdaptationQA02:workshop1# ls folder1_448
123abc folder1-1
Слайд 30

ls + ключи У ls довольно много ключей. Полный список смотрим

ls + ключи

У ls довольно много ключей. Полный список смотрим в

help, man или info
Некоторые полезные ключи:
-a, --all — выдавать все файлы в каталогах, включая скрытые файлы, начинающиеся с точки.
-l, --format=long, --format=verbose — в дополнении к имени каждого файла, выводятся тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла в байтах и временной штамп (время последней модификации файла, если не задано другое). Для файлов с временем больше чем 6 месяцев назад или больше, чем 1 час в будущее, временной штамп содержит год вместо времени дня.
-h, --human-readable
Слайд 31

ls + ключи root@AdaptationQA02:workshop1# ls folder1_448/ -l -a -h total 0

ls + ключи

root@AdaptationQA02:workshop1# ls folder1_448/ -l -a -h
total 0
drwxrwxrwx 1 root

root 30 Dec 17 15:10 .
drwxrwxrwx 1 root root 124 Dec 17 15:10 ..
drwxr-xr-x 1 root root 0 Dec 17 15:10 123abc
drwxr-xr-x 1 root root 128 Dec 17 15:10 folder1-1
Параметры можно группировать (справедливо не только для команды ls)
root@AdaptationQA02:workshop1# ls folder1_448 -lah
total 0
drwxrwxrwx 1 root root 30 Dec 17 15:10 .
drwxrwxrwx 1 root root 124 Dec 17 15:10 ..
drwxr-xr-x 1 root root 0 Dec 17 15:10 123abc
drwxr-xr-x 1 root root 128 Dec 17 15:10 folder1-1
Слайд 32

Структура каталогов файловой системы http://rus-linux.net/MyLDP/file-sys/fhs-struktura-katalogov-linux.html http://citforum.ru/operating_systems/linux_sys/linuxsag_05.shtml https://ru.wikipedia.org/wiki/FHS root@AdaptationQA02:~# cd / root@AdaptationQA02:/#

Структура каталогов файловой системы

http://rus-linux.net/MyLDP/file-sys/fhs-struktura-katalogov-linux.html
http://citforum.ru/operating_systems/linux_sys/linuxsag_05.shtml
https://ru.wikipedia.org/wiki/FHS

root@AdaptationQA02:~# cd /
root@AdaptationQA02:/# ls
bin

dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
Слайд 33

Каталоги /bin – основные двоичные пользовательские модули /boot – файлы статической

Каталоги

/bin – основные двоичные пользовательские модули
/boot – файлы статической загрузки
/cdrom –

исторически выбранная точка монтирования для CD-дисков
/dev – файлы устройств
/etc – конфигурационные файлы
Слайд 34

Каталоги /home – домашние каталоги /lib – основные разделяемые библиотеки /lost+found

Каталоги

/home – домашние каталоги
/lib – основные разделяемые библиотеки
/lost+found – восстановленные файлы
/media

– подключаемые носители
Слайд 35

Каталоги /mnt – точки временного монтирования /opt – вспомогательные пакеты /proc

Каталоги

/mnt – точки временного монтирования
/opt – вспомогательные пакеты
/proc – файлы ядра

и процессов
/root – домашний каталог пользователя root
/run – файлы состояния приложений
/sbin –двоичные файлы администрирования системы
Слайд 36

Каталоги /srv – данные сервисных служб /tmp – временные файлы /usr

Каталоги

/srv – данные сервисных служб
/tmp – временные файлы
/usr – пользовательские двоичные

файлы и данные, используемые только для чтения
/var – файлы для хранения изменяющихся данных
Слайд 37

Текущий каталог, pwd Текущий каталог - тот, где сейчас находится пользователь.

Текущий каталог, pwd

Текущий каталог - тот, где сейчас находится пользователь. С

ним работает ОС, если ей не указать другого каталога.
Полный путь можно узнать командой pwd. Также путь отображается в строке приветствия root@AdaptationQA02:workshop1# pwd
/home/user01/workshop1
Текущий каталог обозначается точкой (.)
root@AdaptationQA02:workshop1# cd .
root@AdaptationQA02:workshop1#
Слайд 38

Родительский каталог Родительский каталог - тот, что расположен на уровень выше.

Родительский каталог

Родительский каталог - тот, что расположен на уровень выше. Т.е.

это тот каталог, в котором находится текущий. Можно обозначить двумя точками (..). Пример перехода в родительский каталог:
root@AdaptationQA02:/home/user01/workshop1# cd ..
root@AdaptationQA02:/home/user01#
Слайд 39

Домашний каталог Домашний каталог - это личный каталог пользователя в операционной

Домашний каталог

Домашний каталог - это личный каталог пользователя в операционной системе,

где находятся его данные, настройки и т. д. Он находится в директории /home и имеет имя аналогичное имени пользователя системы. Обозначается знаком ~
root@AdaptationQA02:/home/user01# cd ~
root@AdaptationQA02:~# pwd
/root
Слайд 40

Абсолютный и относительный путь Путь может быть абсолютным или относительным. Полный

Абсолютный и относительный путь

Путь может быть абсолютным или относительным. Полный или

абсолютный путь — это путь, который указывает на одно и то же место в файловой системе, вне зависимости от текущей рабочей директории или других обстоятельств. Полный путь всегда начинается с корневого каталога.
Пример: /usr/local/share
Слайд 41

Абсолютный и относительный путь Относительный путь представляет собой путь по отношению

Абсолютный и относительный путь

Относительный путь представляет собой путь по отношению к

текущему рабочему каталогу пользователя. Никогда не начинаются с /.
Примеры задания относительного пути:
использование “.” или “..”
cd ../usr/share/zoneinfo
путь, в котором упоминаются только файлы и папки из текущей папки
cd tmp/
Слайд 42

Типы файлов “d” – каталог “l” – символьная ссылка “-” –

Типы файлов

“d” – каталог
“l” – символьная ссылка
“-” – простой файл
-rw-rw-r-- 1

user01 user01 2857 Dec 16 2015 file1
-rw-rw-r-- 1 user01 user01 2854 Dec 16 2015 file2
-rw-rw-r-- 1 user01 user01 2859 Dec 16 2015 file3
-rw-rw-r-- 1 user01 user01 2856 Dec 16 2015 file4
-rw-rw-r-- 1 user01 user01 2855 Dec 16 2015 file5
drwxrwxr-x 1 user01 user01 30 Jun 21 15:38 folder1_448
drwxrwxr-x 1 user01 user01 30 Jun 21 15:38 folder2_25896
drwxrwxr-x 1 user01 user01 30 Jun 21 15:38 folder3_11089
Слайд 43

Часть 4: Основные операции над файлами и каталогами Просмотр информации о

Часть 4:

Основные операции над файлами и каталогами
Просмотр информации о системе
Переменные окружения
Clear,

reset, history
Перезагрузка, выключение
Слайд 44

cp – копирование Формат: cp # cp /home/user01/workshop1/file1 /home/user01/copy-file Чтобы скопировать

cp – копирование

Формат:
cp <что_копируем> <куда_копируем>
# cp /home/user01/workshop1/file1 /home/user01/copy-file
Чтобы скопировать всю

папку, следует использовать команду cp с параметром -r (или -R).
# cp -r /home/user01/workshop1/folder1_448/ /home/user01
Слайд 45

mv – перемещение Формат: mv Пример: # mv /home/user01/workshop1/file1 /home/user01/move-file Перемещение

mv – перемещение

Формат:
mv <что_перемещаем> <куда_перемещаем>
Пример:
# mv /home/user01/workshop1/file1 /home/user01/move-file
Перемещение папки:
# mv

/home/user01/workshop1/folder2_25896/ /home/user01
Переименование:
# mv file1 file-renamed
Слайд 46

mkdir – создание новой директории Формат: mkdir Пример: # mkdir /home/user2/workshop1/my_folder

mkdir – создание новой директории

Формат:
mkdir <путь_к_создаваемой_директории>
Пример:
# mkdir /home/user2/workshop1/my_folder
Важно, чтобы существовали все

родительские каталоги для “my_folder”
Слайд 47

rm – удаление Формат: rm Пример: # rm file5 - удаляет

rm – удаление

Формат:
rm <что_удалять>
Пример:
# rm file5 - удаляет файл file5
#

rm -rf folder3_11089/ - удаляет папку folder3_11089 со всем ее содержимым без запроса подтверждения.
Слайд 48

cat – чтение файлов Формат: cat Пример: # cat /home/user2/workshop1/file2 Пример:

cat – чтение файлов

Формат:
cat <путь_к_файлу>
Пример:
# cat /home/user2/workshop1/file2
Пример:
# cat /home/user2/workshop1/file2 ~/workshop1/file3
Вопрос:

что при этом происходит с file1 и file2?
Слайд 49

find - поиск Формат: find Пример: # find /home/user2/ -name file10

find - поиск

Формат:
find <где_искать> <параметр> <значение>
Пример:
# find /home/user2/ -name file10
/home/user01/workshop1/folder1_448/folder1-1/file10
/home/user01/workshop1/folder2_25896/folder1-1/file10
/home/user01/workshop1/folder3_11089/folder1-1/file10
# find

/home/user01/ -type d -name folder1-1
Пример:
# find /var/log -type f -name application.log
Слайд 50

Информации об операционной системе uname cat /etc/*release* lsb_release

Информации об операционной системе

uname
cat /etc/*release*
lsb_release

Слайд 51

Ifconfig, ip addr, /etc/resolv.conf Ifconfig Ip addr show (ip address show) cat /etc/resolv.conf

Ifconfig, ip addr, /etc/resolv.conf

Ifconfig
Ip addr show (ip address show)

cat /etc/resolv.conf
Слайд 52

Мониторинг потребления RAM cat /proc/meminfo free # free total used free

Мониторинг потребления RAM

cat /proc/meminfo
free
# free
total used free shared buffers cached
Mem:

494556 326932 167624 32 8 172380
-/+ buffers/cache: 154544 340012
Swap: 4194300 6644 4187656
Слайд 53

Мониторинг потребления ресурсов CPU Данные о процессоре могут быть почерпнуты из

Мониторинг потребления ресурсов CPU

Данные о процессоре могут быть почерпнуты из

файла /proc/cpuinfo
Файл /proc/loadavg хранит среднюю загрузку процессора за последние 1, 5, и 15 минут
top
Слайд 54

Diskspace df выводит информацию о свободном - занятом месте на дисках.

Diskspace

df выводит информацию о свободном - занятом месте на дисках. Ключ

-h позволяет выводить размеры в удобном для восприятия виде.
Слайд 55

Время работы системы Команда uptime выводит время, прошедшее с момента последней

Время работы системы

Команда uptime выводит время, прошедшее с момента последней перезагрузки,

число подключенных пользователей и среднюю загрузку
Слайд 56

Переменные окружения, $PATH Окружение (environment) или среда - это набор пар

Переменные окружения, $PATH

Окружение (environment) или среда - это набор пар переменная=значение,

доступный каждому пользовательскому процессу.
Вывод – командами env или envprint
Пример: HOME=/root
Пример: cd $HOME – переход в домашнюю папку текущего пользователя.
Слайд 57

Clear, reset, history clear – очистка окна консоли reset – “сброс”

Clear, reset, history

clear – очистка окна консоли
reset – “сброс” консоли
history –

вывод истории вводимых пользователем команд.
Слайд 58

Перезагрузка, выключение Стандартно для перезагрузки или выключения компьютера используется shutdown. Команда

Перезагрузка, выключение

Стандартно для перезагрузки или выключения компьютера используется shutdown. Команда имеет

много опций, позволяющих выполнить перезагрузку в определенное время, быструю перезагрузку без проверки файловой системы, имитировать и отменять уже запущенный (ждущий своего времени) процесс перезагрузки.
Полный список опций можно получить по shutdown --help
Для немедленной перезагрузки (restart) команда будет выглядеть так:
shutdown -r now
Для выключения питания (halt):
shutdown -h now
В большинстве дистрибутивов можно использовать короткие команды:
reboot - перезагрузка
halt - выключение