# Катенин Владимир - OS Linux Basic. Занятие 1. Основы Linux [toc] ## Практическая работа №1.1 Работа в командной строке 1. Посмотрим под каким пользователем в системе Linux с помощью команды **whoami** ![](https://imgur.com/PwPrZHc.jpg) --- 2. Перейдем в корневой каталог c помощью команды **cd /** ![](https://imgur.com/fM9wKAe.jpg) --- 3. Посмотрим содержимое каталога с помощью команды **ls -l** ![](https://imgur.com/gd1sbfF.jpg) --- 4. Определим типы команд ls, cd с помощью **type** ![](https://imgur.com/tKU6Mjt.jpg) --- 5. Посмотрим из корневого каталога содержимое директории Home с помощью команды **cd /home/** ![](https://imgur.com/eZxCzTi.jpg) --- 6. Перейдем в директорию /tmp с помощью команды **cd tmp/** ![](https://imgur.com/8StwfES.jpg) --- 7. Создадим директорию /pt с помощью команды **mkdir pt** ![](https://imgur.com/54yw4CV.jpg) --- 8. Создадим 3 текстовых документа 1.txt 2.txt 3.txt с помощью **touch** ![](https://imgur.com/vbqZlxQ.jpg) --- 9. Изменим содержимое текстового документа с помощью редакторов nano и vim ![](https://imgur.com/Q4q8GTB.jpg) ![](https://imgur.com/jydtgPW.jpg) ![](https://imgur.com/5pYiJ7o.jpg) --- 10. Скопируем и переименуем директорию с файлами ![](https://imgur.com/XMNXQSa.jpg) --- 11. Заархивируем директорию ![](https://imgur.com/1wODSHc.jpg) --- 12. Разархивируем директорию ![](https://imgur.com/38QApI4.jpg) --- 13. Посмотрим содержимое домашней директории и каталога usr одной командой ![](https://imgur.com/b1CCrl7.jpg) --- 14. Посмотрим содержимое каталога в обратном порядке ![](https://imgur.com/HPw0jZ0.jpg) --- 15. Посмотрим права на директорию ![](https://imgur.com/ArP0lZc.jpg) --- 16. Посмотрим права на текстовые файлы ![](https://imgur.com/qaytj4Y.jpg) --- 17. Переместим и переименуем один текстовый файл в директорию /tmp ![](https://imgur.com/D13Bv1u.jpg) --- 18. Создадим новую директорию, в ней создадим новый текстовый документ, переместим из директории /tmp файл в новую директорию с заменой файла и запросом на его изменение ![](https://imgur.com/eYByWRR.jpg) --- 19. Определим местоположение данного исполняемого файла ls, cd ![](https://imgur.com/UEQnn8i.jpg) --- 20. Выведем краткое описание команды и утилиты ls, nano, rm ![](https://imgur.com/wyGzCa3.jpg) --- 21. Создадим символические ссылки ![](https://imgur.com/RIVmuyA.jpg) --- 22. Создадим символическую ссылку в никуда, продемонстрируем её ![](https://imgur.com/zz4u3QU.jpg) --- 23. Создадим прямые ссылки ![](https://imgur.com/Rpc3pY7.jpg) --- 24. Создадим собственную команду, которая будет использовать следующее: cd /usr; ls; cd - , с помощью alias ![](https://imgur.com/paNzcaw.jpg) --- 25. С помощью команды cat напишем любой текст и запишем его в текстовый файл ![](https://imgur.com/HsFqV9z.jpg) --- 26. Удалим один текстовый файл ![](https://imgur.com/GrG32Wh.jpg) --- 27. Создадим пустую директорию и удалим её ![](https://imgur.com/jozC4Ls.jpg) --- 28. Удалим директорию с 3-я текстовыми файлами ![](https://imgur.com/z38Pvsm.jpg) --- 29. Создадим пользователя ![](https://imgur.com/PJ2i0f4.jpg) ![](https://imgur.com/fVFKq3T.jpg) --- 30. Поменяем пароль нового пользователя ![](https://imgur.com/tIiKtNa.jpg) --- 31. Найдем текстовый документ с помощью команд Find и Grep ![](https://imgur.com/gRw9wye.jpg) ![](https://imgur.com/p9ONB2A.jpg) --- 32. Воспользуемся логическими 'и' и 'или', как пример используем команду ping ![](https://imgur.com/vLUjvaO.jpg) --- ## Практическая работа №1.2 GREP 1. Вы проводите поиск в Интернете, и видите, что используются две разные версии Python, и вы не знаете, какая из них был установлен в вашей системе установщиком Ubuntu или Debian, и устанавливал ли он какие-либо дополнительные модули? ![](https://imgur.com/pPSial0.jpg) Сначала мы запустили dpkg -l, чтобы вывести установленные *.deb пакеты в вашей системе. Далее мы передали этот вывод в grep -i python. Опция -i используется, чтобы игнорировать регистр, поскольку grep чувствителен к нему. Использование опции -i — хорошая привычка, если вы конечно, не пытаетесь выполнить более конкретный поиск. --- 2. Допустим, у вас возникли проблемы с вашим веб-сервером Apache, и вы обратились к одному из многих форумов в сети с просьбой о помощи. Добрая душа, которая вам ответила, попросила вас отправить содержимое вашего файла `/etc/apache2/sites-available/default-ssl`. Разве вам не было бы легче, если бы вы могли просто удалить все закомментированные строки? ![](https://imgur.com/iOc5TZI.jpg) Опция -v указывает grep инвертировать свой вывод, что означает, что вместо печати совпадающих строк grep сделает противоположное и выведутся строки, которые не соответствуют выражению, в этом случае – закомментированные строки. --- 3. Например, предположим, что у вас есть целая папка, полная музыкальных файлов разных форматов. Вы хотите найти все файлы `.mp3` у исполнителя ABC, но вы не хотите никаких ремиксов. Как поступить? ![](https://imgur.com/EVYV2HA.jpg) Мы используем find для вывода всех файлов с расширением *.mp3, связывая поиск с grep -i, чтобы отфильтровать и вывести все файлы с именем «ABC», а затем еще одна опция для grep -vi, которая фильтрует и не выводит все имена файлов со словом «remix». --- 4. Как отобразить количество строк до или после строки поиска? ![](https://imgur.com/4vXb6WI.jpg) --- 5. Как вывести количество строк совпадения? ![](https://imgur.com/QfUdZ9c.jpg) --- 6. Как выяснить количество совпадений? ![](https://imgur.com/apXLc9Z.jpg) --- 7. Как найти файлы по заданным номерам строк? ![](https://imgur.com/v11lEp1.jpg) --- 8. Произвести поиск рекурсивной строки во всех каталогах. ![](https://imgur.com/de3mK4U.jpg) --- 9. Произвести поиск строк в архиве файлов Gzip ![](https://imgur.com/AGn8f2W.jpg) ![](https://imgur.com/v5aGmz5.jpg) ![](https://imgur.com/XSI4zLa.jpg) ![](https://imgur.com/8WMYg4O.jpg) ![](https://imgur.com/z18W7So.jpg) ![](https://imgur.com/Uh4LEWk.jpg) ![](https://imgur.com/al51WSN.jpg) --- ## Практическая работа №1.3 Философия Vim Установка Vim ![](https://imgur.com/rVvEWOf.jpg) Уже установлен --- 1. Создание файла ![](https://imgur.com/KIpUcmD.jpg) ![](https://imgur.com/LHescJS.jpg) Нормальный режим стоит по умолчанию ![](https://imgur.com/11V6sEH.jpg) Режим вставки: ![](https://imgur.com/y0qNCUn.jpg) Режим визуального выделения: Посимвольное выделение: ![](https://imgur.com/iGqshOd.jpg) Построчное выделение: ![](https://imgur.com/FEdB9qi.jpg) Блочное выделение: ![](https://imgur.com/AUjMQRJ.jpg) --- 2. Перемещение - h — перемещение влево - j — перемещение вниз - k — перемещение вверх - l — перемещение вправо Дополнительные функции: - gg — переход в начало документа - G — переход в конец документа. Если предварительно ввести номер — переместиться на строку с этими номером - w — перемещение к следующему слову. Если предварительно ввести количество — переместиться на это количество слов - b — перемещение к предыдущему слову. Если предварительно вввести количество — переместиться на это количество слов назад - e — перемещение к концу слова. Если предварительно указать количество — переместиться на указанное количество слов - 0 — перемещение к началу строки - $ — перемещение к концу строки --- 3. Поиск текста ![](https://imgur.com/PhLRkKe.jpg) ![](https://imgur.com/2Hueimx.jpg) ![](https://imgur.com/uXC1Z29.jpg) --- 4. Редактирование 4.1 Удаление текста - x — удалить символ на позиции курсора - d — удалить в заданном командой перемещения направлении. Например, “dl” удаляет один символ справа - dd — удалить строку - D — удалить все символы от положения курсора до окончания строки - Замена текста - r — заменить символ на позиции курсора заданным после команды символом - c — заменить в заданном командой перемещения направлении. Например, “cb” заменяет предыдущее слово. Для набора текста на замену запускается режим вставки. - C — заменить до окончания строки. Текст на замену набирается в режиме вставки. 4.2 Копирование и вставка - y — копировать в заданном далее направлении - yy — копировать всю строку - Y — копировать до окончания строки - p — вставить последнюю скопированную (или удаленную!) строку ниже текущей - P — вставить последнюю скопированную (или удаленную!) строку выше текущей 4.3 Дополнительные команды редактирования - u — отменить последнее действие - <ctrl>-r — вернуть последнее отмененное действие - J — присоединить строку ниже к текущей ![](https://imgur.com/FHusr4x.jpg) --- 5. Командный режим **Команды управления задаются вводом “:” перед каждой командой.** - :q — выход из программы. Действие не будет выполнена, если не сохранить изменения - :q! — выход из программы с отменой всех изменений, которые не были сохранены - :w — сохранить изменения. При первичном сохранении или сохранении в другой файл укажите имя через пробел - :e — редактировать указанный далее файл - :bn — редактировать следующий файл (если открыто несколько файлов) - :bp — редактировать предыдущий файл (если открыто несколько файлов) - :qw – сохранить файл и выйти ![](https://imgur.com/wgoBKGb.jpg) --- 6. Объединение команд Например, :y5w (y — копировать, 5 — количество, w — слов) ![](https://imgur.com/oDYtRrd.jpg) --- 7. Обучение на сайте openvim ![](https://imgur.com/QVRs58y.jpg) ![](https://imgur.com/r8m2WlC.jpg) ![](https://imgur.com/PV3tNND.jpg) ![](https://imgur.com/J1hUB5z.jpg) ![](https://imgur.com/72kbdj4.jpg) ![](https://imgur.com/utGVCWL.jpg) ![](https://imgur.com/NAddRTG.jpg) ![](https://imgur.com/X6tR60n.jpg) ![](https://imgur.com/9zYbyCj.jpg) ![](https://imgur.com/AHIo8bO.jpg) ![](https://imgur.com/RQxxt5P.jpg) ![](https://imgur.com/zGEUQgI.jpg) ![](https://imgur.com/zAm00Tm.jpg)