Similar presentations:
Что такое Linux
1.
Linux Essentials for QAWorkshop 1. Basics
2. Структура курса
• 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:
1.2.
3.
4.
5.
Что такое Linux?
Зачем он нам нужен?
Дистрибутивы. Какие бывают и где взять?
Что такое GNU и GPL?
UNIX - это Linux?
4. Что такое Linux?
Linux - это операционная система.Сам по себе Linux - это ядро системы,
соответствующее стандартам POSIX.
Ядро Linux поддерживает многозадачность,
виртуальную память, динамические библиотеки,
отложенную
загрузку,
производительную
систему управления памятью и многие сетевые
протоколы.
Ядро
также
поддерживает
загружаемые модули (например, драйверы).
5. UNIX - это Linux? Или Linux – это Unix?
Основное, что нам сейчас надо знать о UNIX,это то, что Linux != Unix.
Unix - это отдельная операционная система.
Linux - Unix-подобная операционная система.
6. 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
8. Главное правильно выбрать критерий оценки
Среди суперкомпьютеров доля OS Linux > 90%Среди веб серверов доля Linux составляет примерно треть: 36.2%
9. Дистрибутивы
Дистрибутив Linux - общее определение операционных систем,использующих ядро Linux, готовых для конечной установки на
пользовательское оборудование.
Кроме ядра и, собственно, операционной системы,
дистрибутивы обычно содержат широкий набор приложений,
таких как редакторы документов и таблиц, мультимедиапроигрыватели, системы для работы с базами данных, и т. д.
10. Список дистрибутивов
http://futurist.se/gldt/ - временное деревопоявления дистрибутивов.
https://en.wikipedia.org/wiki/List_of_Linux_distributio
ns - список дистрибутивов.
11. Популярность дистрибутивов
http://distrowatch.com/ - общее ранжированиедистрибутивов Linux по популярности
Ранжирование среди веб серверов:
(http://w3techs.com/technologies/details/os-linux/all/all)
12. Server vs. Desktop
Отличие обычно в числе сопутствующего программногообеспечения, доступного сразу после установки OS.
13. Часть2:
1.2.
3.
4.
Терминал
SSH
help, man, info
echo
14. CLI (command line interface)
Интерфейс командной строки (англ. CommandLine Interface, CLI). - управление программами с
помощью команд.
Данный интерфейс встроен в ядро системы, он
будет доступен, даже если графический
интерфейс не запустится.
http://help.ubuntu.ru
15. 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
1. putty (https://en.wikipedia.org/wiki/PuTTY,
http://www.chiark.greenend.org.uk/~sgtatha
m/putty/)
2. WinSCP (https://winscp.net/eng/index.php)
3. MobaXTerm
(http://mobaxterm.mobatek.net/)
17. putty
18. Cтрока приглашения
root@AdaptationQA01:~#root – имя пользователя, под учетной записью
которого осуществлен вход в систему
AdaptationQA01 – короткое сетевое имя машины
~ – текущая директория (~),
# или $ - он показывает, что оболочка командной
строки была запущена привилегированным
пользователем root (‘#’) или обычным пользователем
(‘$’)
19. uname
Команда uname выводит информацию о системе.root@AdaptationQ01:~# uname
Linux
20. Ключи: uname –a
root@AdaptationQA01:~# uname -aLinux 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-systemprint the operating system
21. 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 <command_name>
23. info
info - альтернатива man.Для получения информации по отдельной команде
надо задать в командной строке info с параметром,
являющимся именем интересующей команды.
Например:
root@AdaptationQA01:~# info uname
24. ECHO
Все, что делает команда echo, - выводит текст,переданный ей в качестве аргумента на
стандартное устройство вывода. В нашем случае
- в консоль.
# echo A1QA
A1QA
# echo "Linux Essentials for QA"
Linux Essentials for QA
Зачем: обычно используется в скриптах для
вывода необходимой информации в консоль
25. Создание пустого файла
Для создания пустого файла используетсякоманда touch file1.
Можно командой echo 'Hello, world' > file2
или cat > file3 + <Ctrl>+<D> или <Ctrl>+<C>.
С помощью консольных текстовых редакторов vi, nano
либо команд перенаправления вывода
26. Часть3
1. Навигация по файловой системе: cd.2. Корневой каталог, текущий каталог,
родительский каталог, домашний каталог.
3. Абсолютный и относительный путь.
4. Навигация по файловой системе: ls.
5. Структура каталогов файловой системы
27. Корневой каталог /
Файловая система Linux имеет единуюдревовидную структуру, в основе которой
лежит корневой каталог.
Корневой каталог - это уровень файловой
системы, выше которого по дереву каталогов
подняться невозможно. В Linux корневой
каталог обозначается как / (именно “/” - слэш, а
не “\” - обратный слэш).
28. 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
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 довольно много ключей. Полный список смотрим в 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 -htotal 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. Структура каталогов файловой системы
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
• http://rus-linux.net/MyLDP/file-sys/fhs-struktura-katalogovlinux.html
• http://citforum.ru/operating_systems/linux_sys/linuxsag_05.shtml
• https://ru.wikipedia.org/wiki/FHS
33. Каталоги
• /bin – основные двоичныепользовательские модули
• /boot – файлы статической загрузки
• /cdrom – исторически выбранная точка
монтирования для CD-дисков
• /dev – файлы устройств
• /etc – конфигурационные файлы
34. Каталоги
/home – домашние каталоги
/lib – основные разделяемые библиотеки
/lost+found – восстановленные файлы
/media – подключаемые носители
35. Каталоги
/mnt – точки временного монтирования
/opt – вспомогательные пакеты
/proc – файлы ядра и процессов
/root – домашний каталог пользователя
root
• /run – файлы состояния приложений
• /sbin –двоичные файлы
администрирования системы
36. Каталоги
• /srv – данные сервисных служб• /tmp – временные файлы
• /usr – пользовательские двоичные файлы и
данные, используемые только для чтения
• /var – файлы для хранения изменяющихся
данных
37. Текущий каталог, 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” – символьная ссылка
“-” – простой файл
-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:
• Основные операции над файлами икаталогами
• Просмотр информации о системе
• Переменные окружения
• Clear, reset, history
• Перезагрузка, выключение
44. 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 /home/user01/workshop1/folder2_25896/
/home/user01
Переименование:
# mv file1 file-renamed
46. mkdir – создание новой директории
Формат:mkdir <путь_к_создаваемой_директории>
Пример:
# mkdir /home/user2/workshop1/my_folder
Важно, чтобы существовали все родительские
каталоги для “my_folder”
47. rm – удаление
Формат:rm <что_удалять>
Пример:
# rm file5 - удаляет файл file5
# rm -rf folder3_11089/ - удаляет папку
folder3_11089 со всем ее содержимым без
запроса подтверждения.
48. cat – чтение файлов
Формат:cat <путь_к_файлу>
Пример:
# cat /home/user2/workshop1/file2
Пример:
# cat /home/user2/workshop1/file2
~/workshop1/file3
Вопрос: что при этом происходит с file1 и file2?
49. 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
51. 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
Mem:
494556
-/+ buffers/cache:
Swap: 4194300
used
free
326932 167624
154544 340012
6644 4187656
shared buffers cached
32
8 172380
53. Мониторинг потребления ресурсов CPU
• Данные о процессоре могут бытьпочерпнуты из файла /proc/cpuinfo
• Файл /proc/loadavg хранит среднюю
загрузку процессора за последние 1, 5, и 15
минут
• top
54. Diskspace
df выводит информацию о свободном - занятомместе на дисках. Ключ -h позволяет выводить
размеры в удобном для восприятия виде.
55. Время работы системы
Команда uptime выводит время, прошедшее смомента последней перезагрузки, число
подключенных пользователей и среднюю
загрузку
56. Переменные окружения, $PATH
Окружение (environment) или среда - этонабор пар переменная=значение,
доступный каждому пользовательскому
процессу.
Вывод – командами env или envprint
Пример: HOME=/root
Пример: cd $HOME – переход в домашнюю
папку текущего пользователя.
57. Clear, reset, history
clear – очистка окна консолиreset – “сброс” консоли
history – вывод истории вводимых
пользователем команд.
58. Перезагрузка, выключение
Стандартно для перезагрузки или выключения компьютера используетсяshutdown. Команда имеет много опций, позволяющих выполнить
перезагрузку в определенное время, быструю перезагрузку без проверки
файловой системы, имитировать и отменять уже запущенный (ждущий
своего времени) процесс перезагрузки.
Полный список опций можно получить по shutdown --help
Для немедленной перезагрузки (restart) команда будет выглядеть так:
shutdown -r now
Для выключения питания (halt):
shutdown -h now
В большинстве дистрибутивов можно использовать короткие команды:
reboot - перезагрузка
halt - выключение
59. Thank you. Good luck
[email protected]spoky89