# **Практическая работа №1 OS linux** Установка linux ![](https://i.imgur.com/4Sslc7B.png) ![](https://i.imgur.com/QAPA6FC.png) ![](https://i.imgur.com/YTHs7JS.png) ![](https://i.imgur.com/m72HAGZ.png) ![](https://i.imgur.com/iYprCTL.png) ![](https://i.imgur.com/rrsCOfS.png) ![](https://i.imgur.com/03gn05E.png) ![](https://i.imgur.com/cOPzdSs.png) # Практическая работа №1.1 --- ## Практическая работа "Работа в командной строке" ### **Цель работы:** - Научиться работать в командной строке на уровне опытного пользователя. ### Задача: - Выполнить все задания. - Необходимо работать исключительно в терминале. **Задания:** 1. Посмотреть под каким пользователем в системе Linux. ![](https://i.imgur.com/2iPf4Ma.png) 2. Перейти в корневой каталог. ![](https://i.imgur.com/sbscIOP.png) 3. Посмотреть содержимое каталога. ![](https://i.imgur.com/xQoVLyV.png) 4. Определить типы команд ls, cd. ![](https://i.imgur.com/hkFQqY1.png) 5. Посмотреть из корневого каталога содержимое директории Home. ![](https://i.imgur.com/cPkbCN2.png) 6. Перейти в директорию /tmp. ![](https://i.imgur.com/ocXFpbD.png) 7. Создать директорию /pt. ![](https://i.imgur.com/KhBZh3n.png) 8. Создать 3 текстовых документа 1.txt 2.txt 3.txt. ![](https://i.imgur.com/syQcINW.png) ![](https://i.imgur.com/FrMLqV9.png) 9. Изменить или добавить содержимое текстового документа с помощью редакторов nano и vim. nano ![](https://i.imgur.com/5Vjw6rP.png) vim ![](https://i.imgur.com/gsO9eMU.png) ![](https://i.imgur.com/5nw5unt.png) 10. Скопировать и переименовать директорию с файлами. ![](https://i.imgur.com/9A1wz85.png) 11. Заархивировать директорию. ![](https://i.imgur.com/T4rYfOb.png) 12. Разархивировать директорию. ![](https://i.imgur.com/E0VdZOA.png) 13. Посмотреть содержимое домашней директории и каталога usr одной командой. ![](https://i.imgur.com/UcCHIyr.png) 14. Посмотреть содержимое каталога в обратном порядке. ![](https://i.imgur.com/xkr9Cci.png) 15. Посмотреть права на директорию. ![](https://i.imgur.com/BIvzWQw.png) 16. Посмотреть права на текстовые файлы. ![](https://i.imgur.com/irTlAxX.png) 17. Переместить и переименовать один текстовый файл в директорию /tmp. ![](https://i.imgur.com/PwxQjZY.png) 18. Создать новую директорию, в ней создать новый текстовый документ, переместить из директории /tmp файл в новую директорию с заменой файла и запросом на его изменение. ![](https://i.imgur.com/VN2DFu5.png) 19. Определить местоположение данного исполняемого файла ls, cd. ![](https://i.imgur.com/k6WMVhX.png) 20. Вывести краткое описание команды и утилиты ls, nano, rm. ![](https://i.imgur.com/hjmgitf.png) 21. Создать символические ссылки. ![](https://i.imgur.com/zpgRN6b.png) 22. Создать символическую ссылку в никуда, продемонстрировать её. ![](https://i.imgur.com/Rt4oIMP.png) 23. Создать прямые ссылки. ![](https://i.imgur.com/YXCRCOW.png) 24. Создать собственную команду, которая будет использовать следующее: cd /usr; ls; cd - , с помощью alias. ![](https://i.imgur.com/IZqVm3D.png) 25. С помощью команды cat написать любой текст и записать его в текстовый файл. ![](https://i.imgur.com/vC3VyjU.png) 26. Удалить один текстовый файл ![](https://i.imgur.com/6X28xUn.png) 27. Создать пустую директорию и удалить её ![](https://i.imgur.com/redtuPz.png) 28. Удалить директорию с 3-я текстовыми файлами ![](https://i.imgur.com/aIFkCCa.png) 29. Создать пользователя ``` nano /etc/passwd ``` ![](https://i.imgur.com/bF2F68b.png) ``` nano /etc/shadow ``` ![](https://i.imgur.com/tLzQt0D.png) 30. Поменять пароль нового пользователя ![](https://i.imgur.com/DboeYPC.png) 31. Найти текстовый документ с помощью команд Find и Grep ![](https://i.imgur.com/EgnVPI8.png) 32. Воспользоваться логическими 'и' и 'или' как пример использовать команду ping ![](https://i.imgur.com/gjhgonE.png) ![](https://i.imgur.com/rbbjZYD.png) ![](https://i.imgur.com/Kafnmk9.png) ![](https://i.imgur.com/vV4voMQ.png) # Практическая работа №1.2 --- ## **Практическая работа “GREP”** ### **Цель:** - Научиться базовым функциям команды GREP. - Для практической работы желательно использовать следующие методические материалы: *Что такое GREP* **[Примеры работы GREP](https://hackmd.io/@IgorLitvin/SJSNhOvzt)** ### **Задача:** - Вы проводите поиск в Интернете, и видите, что используются две разные версии Python, и вы не знаете, какая из них был установлен в вашей системе установщиком Ubuntu или Debian, и устанавливал ли он какие-либо дополнительные модули? - Допустим, у вас возникли проблемы с вашим веб-сервером Apache, и вы обратились к одному из многих форумов в сети с просьбой о помощи. Добрая душа, которая вам ответила, попросила вас отправить содержимое вашего файла `/etc/apache2/sites-available/default-ssl`. Разве вам не было бы легче, если бы вы могли просто удалить все закомментированные строки? - Например, предположим, что у вас есть целая папка, полная музыкальных файлов разных форматов. Вы хотите найти все файлы `.mp3` у исполнителя ABC, но вы не хотите никаких ремиксов. Как поступить? - Как отобразить количество строк до или после строки поиска? - Как вывести количество строк совпадения? - Как выяснить количество совпадений? - Как найти файлы по заданным номерам строк? - Произвести поиск рекурсивной строки во всех каталогах. - Произвести поиск строк в архивах файлах Gzip. (создать zip архив см.п.1.10) #### 1.1 Поиск файлов ![](https://i.imgur.com/lfR2FUV.png) #### 1.2 Поиск и фильтрация файлов ![](https://i.imgur.com/EO27sGn.png) #### 1.3 Найти все файлы .mp3 ![](https://i.imgur.com/Q1nVfZi.png) #### 1.4 Отображение количества строк до или после строки поиска ![](https://i.imgur.com/wBXBHoo.png) #### 1.5 Вывод количества строк совпадения ![](https://i.imgur.com/KzeQI55.png) #### 1.6 Количество совпадений ![](https://i.imgur.com/uQFKkVP.png) #### 1.7 Поиск файлов по заданным номерам строк ![](https://i.imgur.com/oygVZpT.png) #### 1.8 Поиск рекурсивной строки во всех каталогах ![](https://i.imgur.com/8Ky2BcL.png) #### 1.9 Поиск по всему шаблону ![](https://i.imgur.com/AOD0o3p.png) #### 1.11 Создаем простой zip-архив ![](https://i.imgur.com/paQfYMC.png) ![](https://i.imgur.com/QlBDvda.png) ![](https://i.imgur.com/yNTKe2O.png) ![](https://i.imgur.com/cmtPEQr.png) ![](https://i.imgur.com/BFNJ9Hw.png) ![](https://i.imgur.com/c5gNufA.png) # Практическая работа №1.3 --- ## Практическая работа Философия Vim ### Цель работы: - Научиться работать в VIM. #### 3.1 Создание файла ![](https://i.imgur.com/v0ihMQa.png) ![](https://i.imgur.com/9YPZDGW.png) ![](https://i.imgur.com/y2a87rU.png) ![](https://i.imgur.com/mZPQZzX.png) Режим visual ![](https://i.imgur.com/PJhKX9F.png) Режим visual line ![](https://i.imgur.com/30JZHR5.png) Режим Visual block ![](https://i.imgur.com/JRE5Pur.png) #### 3.3 Режим поиска ![](https://i.imgur.com/M7PLHWk.png) ![](https://i.imgur.com/nbcYBhl.png) ![](https://i.imgur.com/hhyJ8tm.png) #### 3.4 Редактирование ##### 3.4.1 Удаление текста - x — удалить символ на позиции курсора ![](https://i.imgur.com/u6r5au0.png) - d — удалить в заданном командой перемещения направлении. Например, “dl” удаляет один символ справа ![](https://i.imgur.com/k81KhWN.png) - dd — удалить строку ![](https://i.imgur.com/dvDT2L6.png) - D — удалить все символы от положения курсора до окончания строки ![](https://i.imgur.com/c6ZFXjh.png) ![](https://i.imgur.com/1nuFClB.png) - Замена текста - r — заменить символ на позиции курсора заданным после команды символом ![](https://i.imgur.com/jTBHQlD.png) ![](https://i.imgur.com/nHIZZB9.png) ![](https://i.imgur.com/oTS0ynw.png) - c — заменить в заданном командой перемещения направлении. Например, “cb” заменяет предыдущее слово. Для набора текста на замену запускается режим вставки. ![](https://i.imgur.com/9sPtTCb.png) ![](https://i.imgur.com/yr5p4d9.png) - C — заменить до окончания строки. Текст на замену набирается в режиме вставки. ![](https://i.imgur.com/byBBALs.png) ![](https://i.imgur.com/Gch3xqP.png) ![](https://i.imgur.com/C4iVD5G.png) ##### 3.4.2 Копирование и вставка - y — копировать в заданном далее направлении ![](https://i.imgur.com/sXlh3uv.png) ![](https://i.imgur.com/jXk8gta.png) - yy — копировать всю строку я сначала нажал yy потом p, строчка скопировалась и вставилась снизу ![](https://i.imgur.com/fhyOi5a.png) - Y — копировать до окончания строки сначала нажал Y, затем P, чтобы строчка скопировалась и вставилась сверху ![](https://i.imgur.com/eSWyMu9.png) - p — вставить последнюю скопированную (или удаленную!) строку ниже текущей - P — вставить последнюю скопированную (или удаленную!) строку выше текущей ##### 3.4.3 Дополнительные команды редактирования - u — отменить последнее действие ![](https://i.imgur.com/EoLsgBl.png) ![](https://i.imgur.com/DLG1HpH.png) - <ctrl>-r — вернуть последнее отмененное действие ![](https://i.imgur.com/YAffX2S.png) - J — присоединить строку ниже к текущей ![](https://i.imgur.com/rUMUp3G.png) ### 3.5 Командный режим Используется для продвинутого редактирования, изменения параметров и управления. В нем выполняется сохранение, выход из программы, продвинутый поиск и многое другое. Активируется клавишей двоеточия “:”. ### 3.5.1 Команды управления **Команды управления задаются вводом “:” перед каждой командой.** - :q — выход из программы. Действие не будет выполнена, если не сохранить изменения ![](https://i.imgur.com/XHr2Jpq.png) ![](https://i.imgur.com/JGT3GqK.png) - :q! — выход из программы с отменой всех изменений, которые не были сохранены ![](https://i.imgur.com/LtlzecL.png) ![](https://i.imgur.com/LyHBNdp.png) - :w — сохранить изменения. При первичном сохранении или сохранении в другой файл укажите имя через пробел ![](https://i.imgur.com/8menkI9.png) ![](https://i.imgur.com/cvLoUiu.png) - :e — редактировать указанный далее файл ![](https://i.imgur.com/oogahpU.png) - :bn — редактировать следующий файл (если открыто несколько файлов) ![](https://i.imgur.com/iS06Krw.png) - :bp — редактировать предыдущий файл (если открыто несколько файлов) ![](https://i.imgur.com/siG2BBA.png) - :qw – сохранить файл и выйти ![](https://i.imgur.com/aQ44u2s.png) ### 3.6 Объединение команд Как упоминалось выше, эффективность vim обусловлена возможностью строить цепочки разных действий. Лучше всего этот принцип иллюстрируется, если представлять команды vim в виде языка. Клавиши в нормальном режиме играют роль различных частей речи. **Например, для копирования 5 слов представьте эту фразу как команды, которые понимает vim. Это будет выглядеть так:** - :y5w (y — копировать, 5 — количество, w — слов) **Удалить текст от текущей позиции до окончания файла:** - :dG (d — удалить, G — переход в конец файла) - Также полезно усвоить ряд используемых в действиях vim принципов. Например, сдвоенный символ обычно распространяет действие команды на всю строку. Следующая команда скопирует не один символ, а строку целиком: `:yy` - С другой стороны, соответствующая команде заглавная буква часто действует от положения курсора до окончания линии. В случае с изменением текста это будет следующая команда: `:C` - Чтобы выполнить операцию с несколькими символами или строками, укажите перед командой число. Например, такая команда заменит весь текст от текущего положения курсора до окончания следующей строки: `:2C` ## 4. Заключение *Vim — очень мощный инструмент, но рассмотрение многих его функциональных возможностей выходит за пределы этой статьи. Если вы хотите узнать больше, полезно начать со встроенного в vim обучающего интерфейса:* - vimtutor В нем не рассматриваются тонкости, но он позволит вам разобраться в работе vim и освоить основы редактирования. У vim есть интерактивное обучение [https://www.openvim.com/](https://www.openvim.com/) - Выполнить все задания. - Контрольные вопросы на знание того, что проделано в данной работе и в интерактивное обучение [https://www.openvim.com/](https://www.openvim.com/). - Сделать скриншоты выполнения заданий. ![](https://i.imgur.com/dbgWK2A.png) ![](https://i.imgur.com/TNwGjd5.png) ![](https://i.imgur.com/SBjnV4R.png) ![](https://i.imgur.com/OOAONlF.png) ![](https://i.imgur.com/LtkbwZE.png) ![](https://i.imgur.com/9accPIZ.png) ![](https://i.imgur.com/cI5qtWl.png) ![](https://i.imgur.com/cRoTC9J.png) ![](https://i.imgur.com/SYumQI0.png) ![](https://i.imgur.com/ln45LNH.png) ![](https://i.imgur.com/X1yQAig.png) ![](https://i.imgur.com/rFmgLAm.png) ![](https://i.imgur.com/8MxSw5C.png) ![](https://i.imgur.com/P0dx2Mh.png) ![](https://i.imgur.com/TZcTVFJ.png) ![](https://i.imgur.com/TmNAx02.png) ![](https://i.imgur.com/dnaQnx0.png) ![](https://i.imgur.com/YlPlOL0.png) ![](https://i.imgur.com/Bvh9dFX.png) ![](https://i.imgur.com/5AOvc4M.png) ![](https://i.imgur.com/4SmPZIa.png) ![](https://i.imgur.com/dQa3nzq.png)