# Linux Basics Модуль Занятие 1 ## Основы OS Linux ### Практическая работа 1.1 Работа в командной строке Задания: 1. Посмотреть под каким пользователем в системе Linux. ![](https://i.imgur.com/GPW7aCL.png) 2. Перейти в корневой каталог. ![](https://i.imgur.com/4TueuWc.png) 3. Посмотреть содержимое каталога. ![](https://i.imgur.com/iPYF6Oi.png) 4. Определить типы команд ls, cd. ![](https://i.imgur.com/2yAmTIq.png) 5. Посмотреть из корневого каталога содержимое директории Home. ![](https://i.imgur.com/in3CzCC.png) 6. Перейти в директорию /tmp. ![](https://i.imgur.com/UO1wNSH.png) 7. Создать директорию /pt. ![](https://i.imgur.com/tJJUvPg.png) 8. Создать 3 текстовых документа 1.txt 2.txt 3.txt. ![](https://i.imgur.com/CDVoYj4.png) 9. Изменить или добавить содержимое текстового документа с помощью редакторов nano и vim. 9.1 Nano ![](https://i.imgur.com/3Du8S0c.png) ![](https://i.imgur.com/gYOllWp.png) 9.2 Vim ![](https://i.imgur.com/2xuanRd.png) ![](https://i.imgur.com/pcDlBl8.png) 10. Скопировать и переименовать директорию с файлами. ![](https://i.imgur.com/WpFO41V.png) ![](https://i.imgur.com/rHh8y0X.png) 11. Заархивировать директорию. ![](https://i.imgur.com/pLv4iMz.png) 12. Разархивировать директорию. ![](https://i.imgur.com/gtjPHqk.png) 13. Посмотреть содержимое домашней директории и каталога usr одной командой. ![](https://i.imgur.com/ClFsxmK.png) 14. Посмотреть содержимое каталога в обратном порядке. ![](https://i.imgur.com/l5Whmhw.png) 15. Посмотреть права на директорию. ![](https://i.imgur.com/M1VUr6u.png) 16. Посмотреть права на текстовые файлы. ![](https://i.imgur.com/TOQvoKG.png) 17. Переместить и переименовать один текстовый файл в директорию /tmp. ![](https://i.imgur.com/15rJ9pT.png) ![](https://i.imgur.com/QfPu79M.png) 18. Создать новую директорию, в ней создать новый текстовый документ, переместить из директории /tmp файл в новую директорию с заменой файла и запросом на его изменение. ![](https://i.imgur.com/4Se1KhN.png) 19. Определить местоположение данного исполняемого файла ls, cd. ![](https://i.imgur.com/JFw0N5f.png) ![](https://i.imgur.com/KSvbQB6.png) 20. Вывести краткое описание команды и утилиты ls, nano, rm. ![](https://i.imgur.com/LLl9uyp.png) 21. Создать символические ссылки. ![](https://i.imgur.com/sqKXt6R.png) 22. Создать символическую ссылку в никуда, продемонстрировать её. ![](https://i.imgur.com/E2pCflT.png) 23. Создать прямые ссылки. ![](https://i.imgur.com/Mh09VDZ.png) 24. Создать собственную команду, которая будет использовать следующее: cd /usr; ls; cd - , с помощью alias. ![](https://i.imgur.com/BgGGyYX.png) ![](https://i.imgur.com/bHafizp.png) ![](https://i.imgur.com/xopBe3d.png) 25. С помощью команды cat написать любой текст и записать его в текстовый файл. ![](https://i.imgur.com/zMdjHHh.png) 26. Удалить один текстовый файл ![](https://i.imgur.com/elShYF1.png) 27. Создать пустую директорию и удалить её ![](https://i.imgur.com/2hdsv9i.png) 28. Удалить директорию с 3-я текстовыми файлами ![](https://i.imgur.com/tlwCDvO.png) 29. Создать пользователя ![](https://i.imgur.com/650XMS5.png) 30. Поменять пароль нового пользователя ![](https://i.imgur.com/3l4SRqF.png) 31. Найти текстовый документ с помощью команд Find и Grep ![](https://i.imgur.com/ZuNyJWx.png) 31. Воспользоваться логическими 'и' и 'или' как пример использовать команду ping ![](https://i.imgur.com/W3AKQxv.png) ![](https://i.imgur.com/oE6doeI.png) ### Практическая работа 1.2 GREP 1. Посмотрим список всех пакетов, загруженных менеджерами пакетов для Python. Используется команда `dpkg -l | grep -i python`, где: + dpkg -l - выводит список всех скачанных модулей + grep -i python - получает список модулей и отбирает только те, что содержат 'python' в любом регистре Вывод: ![](https://i.imgur.com/lJx9QRI.png) 2. Отчистим файл от комментариев, ставящися через знак '#'. Используемая команда `grep –v "#" /etc/apache2/sites-available/default-ssl` Аргумент `-v` указывает утилите игнорировать строки, которые начинаются со строки "#". Вывод: ![](https://i.imgur.com/HrOG70U.png) Строчек с комментариями не содержит 3. Найдем только нужные файлы по их названиям. Используемая команда: `find . –name "*.mp3" | grep –i ABC | grep –vi "remix"` + find - команда поиска файлов (здесь используется поиск по имени, а именно по части, содержащей расширение файла - mp3) + ответ find передается команде grep -i ABC, которая выбирает композиции на основе названия группы + из ответа исключаются записи, содержащие 'remix' Вывод: ![](https://i.imgur.com/o7QvegD.png) 4. Вывод контекста строки c одной из сторон. Использование флагов -A и -B позволяет вывести строки после и перед найденной строкой. Используемые команды: `ifconfig | grep –A 4 eth0`, `ifconfig | grep -B 2 UP` + после параметров нужно указывать число, которое означает максимальное количество строк, которые можно вывести Вывод: ![](https://i.imgur.com/9PQmfs2.png) 5. Вывод контекста строки. Флаг -C работает также, как и флаг -A или -B, но выводит строки с обеих сторон от строки поиска Команда: `ifconfig | grep –C 2 lo` Вывод: ![](https://i.imgur.com/f7NYWTU.png) 6. Счет количества совпадений (флаг -c) ![](https://i.imgur.com/D7SkrJk.png) 7. Поиск строки с выводом ее номера в файле (флаг -n) ![](https://i.imgur.com/zFDeWje.png) 8. Рекурсивный поиск Использование параметра -r позволяет проводить рекурсивный поиск по папкам и файлам в поисках нужной последовательности символов. Использованная команда: grep -r -n function * Вывод: ![](https://i.imgur.com/BXEQPrL.png) 9. Поиск по всему шаблону (парамер -w) В шаблон поиска можно включить проверку на то, найденная подстрока является отдельным словом. В файле представлены числа, при этом часть чисел - составная и состоит из названия цифр. Возможно найти все вхождения отдельных цифр, исключая составные числа. Команда: grep -w "seven" a.txt Вывод: ![](https://i.imgur.com/2WxkxH4.png) 10. Испольльзуем zgrep Используем zgrep, который производит поиск в файлах, запакованных в zip-архивы. Команда принимает в качестве файла только архивы, в остальном поведение схоже с командой grep. Сначала создадим zip-архив с текстовым файлом, содержащим поисковое слово. ![](https://i.imgur.com/7fjbGyk.png) Далее произведем поиск через zgrep ![](https://i.imgur.com/f4WNiCp.png) ### Практическая работа 1.3 Философия VIM Скриншоты выполнения заданий с https://www.openvim.com/ 1. ![](https://i.imgur.com/pyxOrZS.png) 2. ![](https://i.imgur.com/YC6a1hA.png) 3. ![](https://i.imgur.com/Nli2UXC.png) 4. ![](https://i.imgur.com/C6x291W.png) 5. ![](https://i.imgur.com/TkAZjW7.png) 6. ![](https://i.imgur.com/2qC8Arl.png) 7. ![](https://i.imgur.com/FsPz0G1.png) 8. ![](https://i.imgur.com/DeB9emd.png) 9. ![](https://i.imgur.com/xH8qXLr.png) 10. ![](https://i.imgur.com/dy39QZ9.png) 11. ![](https://i.imgur.com/0icPPoe.png) 12. ![](https://i.imgur.com/OlBYB42.png) 13. ![](https://i.imgur.com/FRghSLs.png) 14. ![](https://i.imgur.com/xJm67q9.png) 15. ![](https://i.imgur.com/knnJFkv.png) 16. ![](https://i.imgur.com/TpfRC1i.png) 17. ![](https://i.imgur.com/AnFALXH.png) 18. ![](https://i.imgur.com/Hr3oBtj.png) 19. ![](https://i.imgur.com/6AGDu0r.png) 20. ![](https://i.imgur.com/zomJFu7.png)