# Занятие 1. Основы Linux # # Часть 1. Работа в командной строке # ## 1. Посмотреть под каким пользователем в системе Linux ## ![](https://i.imgur.com/Gp6wFJm.png) ## 2. Перейти в корневой каталог ## ![](https://i.imgur.com/VgDuGJm.png) ## 3. Посмотреть содержимое каталога ## ![](https://i.imgur.com/ERGDKPg.png) ## 4. Определить типы команд ls, cd ## ![](https://i.imgur.com/052SyJ5.png) ## 5. Посмотреть из корневого каталога содержимое директории Home ## ![](https://i.imgur.com/ORE7mNg.png) ## 6. Перейти в директорию /tmp ## ![](https://i.imgur.com/0CLxDyK.png) ## 7. Создать директорию /pt ## ![](https://i.imgur.com/BVfukuB.png) ## 8. Создать 3 текстовых документа 1.txt 2.txt 3.txt ## ![](https://i.imgur.com/rlgkUEB.png) ## 9. Изменить или добавить содержимое текстового документа с помощью редакторов nano ## ![](https://i.imgur.com/Owb8CEi.png) ## 10. Скопировать и переименовать директорию с файлами ## ![](https://i.imgur.com/MTN6Gts.png) ![](https://i.imgur.com/eOQkMBz.png) ## 11. Заархивировать директорию ## ![](https://i.imgur.com/aaidXZY.png) ## 12. Разархивировать директорию ## ![](https://i.imgur.com/27LTWPU.png) ![](https://i.imgur.com/F908utX.png) ## 13. Посмотреть содержимое домашней директории и каталога usr одной командой ## ![](https://i.imgur.com/FsKbVBm.png) ## 14. Посмотреть содержимое каталога в обратном порядке ## ![](https://i.imgur.com/f68tCuX.png) ## 15. Посмотреть права на директорию ## ![](https://i.imgur.com/jrorls4.png) ## 16. Посмотреть права на текстовые файлы ## ![](https://i.imgur.com/gtwfAKV.png) ## 17. Переместить и переименовать один текстовый файл в директорию /tmp ## ![](https://i.imgur.com/1VSjkDI.png) ## 18. Создать новую директорию, в ней создать новый текстовый документ, переместить из директории /tmp файл в новую директорию с заменой файла и запросом на его изменение ## ![](https://i.imgur.com/hAhF99Y.png) ![](https://i.imgur.com/M665Hv1.png) ![](https://i.imgur.com/03B2wmQ.png) ## 19. Определить местоположение данного исполняемого файла ls, cd ## ![](https://i.imgur.com/u2LoTId.png) ## 20. Вывести краткое описание команды и утилиты ls, nano, rm ## ![](https://i.imgur.com/hBt0mkI.png) ## 21. Создать символические ссылки ## ![](https://i.imgur.com/mbGyL0Z.png) ![](https://i.imgur.com/kCy30Ob.png) ## 22. Создать символическую ссылку в никуда, продемонстрировать её ## ![](https://i.imgur.com/OGbAyCf.png) ## 23. Создать прямые ссылки ## ![](https://i.imgur.com/KSDkTKg.png) ## 24. Создать собственную команду, которая будет использовать следующее: cd /usr; ls; cd - , с помощью alias ## ![](https://i.imgur.com/xGcfSBT.png) ## 25. С помощью команды cat написать любой текст и записать его в текстовый файл ## ![](https://i.imgur.com/bs9ZGdM.png) ![](https://i.imgur.com/6jkv5Yb.png) ## 26. Удалить один текстовый файл ## ![](https://i.imgur.com/MaYAzBu.png) ## 27. Создать пустую директорию и удалить её ## ![](https://i.imgur.com/mF6izIV.png) ## 28. Удалить директорию с 3-я текстовыми файлами ## ![](https://i.imgur.com/YEk5vPR.png) ## 29. Создать пользователя ## ![](https://i.imgur.com/LKWSJOf.png) ## 30. Поменять пароль нового пользователя ## ![](https://i.imgur.com/7kok2AG.png) ## 31. Найти текстовый документ с помощью команд Find и Grep ## ![](https://i.imgur.com/aGzEEsn.png) ![](https://i.imgur.com/ZcGRKgU.png) ## 32. Воспользоваться логическими 'и' и 'или' как пример использовать команду ping ## ![](https://i.imgur.com/abu011R.png) ![](https://i.imgur.com/c8dbHFN.png) ![](https://i.imgur.com/gAllqzl.png) # Часть 2. GREP # ## Нужно определить версию python и установленные дополнительные модули ## ![](https://i.imgur.com/NrP08Pp.png) ## Нужно найти все незакоментированые строки в файле ## ![](https://i.imgur.com/GO75gMS.png) ## Нужно найти все закоментированные строки в файле ## ![](https://i.imgur.com/7I48FNv.png) ## Нужно найти все файлы `*.mp3` у исполнителя ABC, без ремиксов ## ![](https://i.imgur.com/WveT3bX.png) ![](https://i.imgur.com/Nfa1h66.png) ## Отображение n строк до строки поиска ## ![](https://i.imgur.com/IopI4H5.png) ## Отображение n строк после строки поиска ## ![](https://i.imgur.com/YFFwrtw.png) ## Отображение n строк до и после строки поиска ## ![](https://i.imgur.com/7PMYakA.png) ## Grep так же может запросто подсчитать количество совпадений ## ![](https://i.imgur.com/Ech1La1.png) ## Параметр -n для grep очень полезен при отладке файлов во время компиляции. Он отображает номер строки в файле поиска ## ![](https://i.imgur.com/F9bUXrU.png) ## Если вы хотите найти строку в текущем каталоге вместе со всеми подкаталогами, вы можете указать параметр -r для поиска рекурсивно ## ![](https://i.imgur.com/RYicBLo.png) ## Опции -w для grep ищет весь шаблон, который находится в строке. Например, используя: ifconfig | grep –w "RUNNING ## ![](https://i.imgur.com/EUfkdwz.png) ![](https://i.imgur.com/6IWF2Kx.png) ## Поиск строки в архивах файлах Gzip ## ![](https://i.imgur.com/KIuT7uN.png) ## Для создания zip-архива просто выполняем команду zip, в первом аргументе указываем имя будущего архива, а во втором сам файл, который мы сжимаем ## ![](https://i.imgur.com/sNCD7J5.png) ![](https://i.imgur.com/mvpiszX.png) ## Можно заархивировать сразу несколько файлов ## ![](https://i.imgur.com/qzcJu40.png) ![](https://i.imgur.com/9druajh.png) ## Создаем zip-архив папкиЧтобы заархивировать папку, используется ключ -r ## ![](https://i.imgur.com/J86WABn.png) ## Очень важной функцией утилиты zip является возможность задания пароля на распаковку архива. ля этого применяется опция -P, после которой следует написать пароль ## ![](https://i.imgur.com/g8p640E.png) ## Если вы не хотите вводить пароль в командной строке у всех на виду, то можно использовать опцию -e, чтобы вместо ввода пароля в открытую, вводить его в срытом виде ## ![](https://i.imgur.com/qc4m9tR.png) ## Для того, чтобы разархивировать zip-архив, используется команда unzip. Ее можно запускать без опций, только указывая имя архива ## ![](https://i.imgur.com/YCXLJzh.png) ## По умолчанию распаковка происходит в текущей директории. Чтобы распаковать архив в другую директорию, используется опция -d, после которой нужно указать путь до директории ## ![](https://i.imgur.com/7YVRcVb.png) # Часть 3. VIM # ## Установка vim ## ![](https://i.imgur.com/AA4cwPN.png) ## Откроем файл при помощи vim ## ![](https://i.imgur.com/xXxJXfg.png) ![](https://i.imgur.com/ZORteoN.png) ## v — режим обычного (посимвольного) визуального выделения перемещением курсора вверх, вниз, влево или вправо ## ![](https://i.imgur.com/hUzz6pT.png) ## V — режим построчного визуального выделения. Строки выделяются целиком перемещением вверх или вниз ## ![](https://i.imgur.com/ea1Yoon.png) ## Ctr+v — режим блочного визуального выделения. Выделяется прямоугольный участок, который можно увеличивать и уменьшать. Позволяет выбирать фрагменты нескольких линий ## ![](https://i.imgur.com/ChoWGf8.png) ## Поиск ввод /слово_для_поиска ## ![](https://i.imgur.com/Uj8Djok.png) ## Регистронезависимый поиск ## ![](https://i.imgur.com/XQ6aXSc.png) ## Явное указание того, что поиск должен выполняться в верхнем регистре ## ![](https://i.imgur.com/ckgFv26.png) ## Прохождение интерактивного обучения ## Режим вставки ![](https://i.imgur.com/nCR9Wfv.png) Перемещение курсора ![](https://i.imgur.com/GQWPCQM.png) Перемещение по словам ![](https://i.imgur.com/9gmicxa.png) Перемещение по тексту ![](https://i.imgur.com/kKFgqgG.png) Вставка текста ![](https://i.imgur.com/0uQOxKT.png) Поиск вхождений ![](https://i.imgur.com/qpvaxCt.png) Перемещение к скобкам ![](https://i.imgur.com/iBkjcJ6.png) Перемещение к началу и концу строки ![](https://i.imgur.com/P8vaeqQ.png) Перемещение между наеденными вхождения слова ![](https://i.imgur.com/EKOxeSA.png) Перемещение к началу и концу файла, перемещение на определённую строчку ![](https://i.imgur.com/xI7wJi0.png) Повторный поиск ![](https://i.imgur.com/4GvD7yA.png) Вставка текста в новую строчку ![](https://i.imgur.com/Z7SSWQq.png) Удаление текста до и после курсора ![](https://i.imgur.com/PmRPVIm.png) Замени одного символа без перехода в режим вставки ![](https://i.imgur.com/SeDnGiu.png) Комбинированное удаление ![](https://i.imgur.com/cMlMrU7.png) Визуальный режим ![](https://i.imgur.com/05QQ1gX.png)