# Занятие 1. Основы Linux ## Практическая работа №1.1. Работа в командной строке Посмотрим под каким пользователем в системе Linux: ![](https://i.imgur.com/bvZ8K7q.png) Перейдем в корневой каталог и посмотрим его содержимое: ![](https://i.imgur.com/H7p8aCT.png) Определим типы команд: ***ls*** --- позволяет получить список содержимого текущей рабочей директории. ***cd*** --- команда смены текущего каталога. Посмотрим из корневого каталога содержимое директории Home: ![](https://i.imgur.com/KvMUrus.png) Перейдем в директорию /tmp и создадим директорию /pt: ![](https://i.imgur.com/gLI9i2S.png) Создадим 3 текстовых документа 1.txt 2.txt 3.txt: ![](https://i.imgur.com/gUw060X.png) Добавим содержимое текстового документа с помощью редакторов nano: ![](https://i.imgur.com/yy9NQZW.png) ![](https://i.imgur.com/XcSo6Vm.png) Скопируем и переименуем директорию с файлами: ![](https://i.imgur.com/pxJTseR.png) Заархивируем директорию: ![](https://i.imgur.com/yjy02CC.png) ![](https://i.imgur.com/0IfYKOb.png) Разархивируем: ![](https://i.imgur.com/LjGG9xD.png) ### 13. Посмотрим содержимое домашней директории и каталога usr одной командой: ![](https://i.imgur.com/wp0QrJW.png) Посмотрим содержимое каталога в обратном порядке: ![](https://i.imgur.com/QfVjlyj.png) Посмотрим права на директорию: ![](https://i.imgur.com/OJICP82.png) Посмотрим права на текстовые файлы: ![](https://i.imgur.com/AVp4BLq.png) Переместим и переименуем текстовый файл 1.txt в директорию /tmp: ![](https://i.imgur.com/ilQnDUk.png) Создадим новую директорию с новым текстовым документом, переместим из директории /tmp файл в новую директорию с заменой файла и запросом на его изменение: ![](https://i.imgur.com/cXQrrN0.png) Определим местоположение данного исполняемого файла ls, cd: ![](https://i.imgur.com/BnkHb8Z.png) ### 20. Выведем краткое описание команды и утилиты ls, nano, rm: ![](https://i.imgur.com/PF5vT9M.png) Создадим символические ссылки: ![](https://i.imgur.com/ILztxcz.png) Создадим символическую ссылку в никуда: ![](https://i.imgur.com/nbKQTQD.png) Создадим прямую ссылку: ![](https://i.imgur.com/t2Lvalz.png) ### 24. Создадим собственную команду, которая будет использовать следующее: cd /usr; ls; cd - , с помощью alias: ![](https://i.imgur.com/Tz66rpX.png) С помощью команды cat напишем текст и запишем его в текстовый файл: ![](https://i.imgur.com/lBzDTlc.png) Удалим один текстовый файл: ![](https://i.imgur.com/JOlhAnp.png) Создадим пустую директорию и удалим её: ![](https://i.imgur.com/USz6O6l.png) Удалим директорию с 3-я текстовыми файлами: ![](https://i.imgur.com/h9AswbC.png) Создадим пользователя и установим ему пароль: ![](https://i.imgur.com/Ry0ZMCo.png) Найдем текстовый документ 1.txt с помощью команд Find: ![](https://i.imgur.com/5AchsHx.png) Grep: ![](https://i.imgur.com/h29FVzO.png) Воспользуемся логическими 'и' и 'или' для вывода ping: ![](https://i.imgur.com/7xfKLnB.png) ## Практическая работа №1.2. GREP ### 1.1 Поиск файлов Выведем установленные *.deb пакеты: ![](https://i.imgur.com/lBKQq95.png) ### 1.2 Поиск и фильтрация файлов Выведем незакомментированные строки: ![](https://i.imgur.com/Cjw6ybS.png) ### 1.3 Поиск всех файлов .mp3 ![](https://i.imgur.com/wfErSyY.png) ### 1.4 Отображение количества строк до или после строки поиска ![](https://i.imgur.com/32BEX80.png) ### 1.5 Вывод количества строк совпадения ![](https://i.imgur.com/G3zS8wy.png) ### 1.7 Поиск файлов по заданным номерам строк Отображает номер строки в файле поиска: ![](https://i.imgur.com/SVIAJXV.png) ### 1.8 Поиск рекурсивной строки во всех каталогах ![](https://i.imgur.com/ZeovNek.png) ### 1.9 Поиск по всему шаблону ![](https://i.imgur.com/nwpkJ0N.png) ### 1.10 Поиск строки в архивах файлах Gzip ![](https://i.imgur.com/XQ7Xkog.png) ### 1.11 Создаем простой zip-архив ![](https://i.imgur.com/JkUyXgH.png) Создадим zip-архив папки: ![](https://i.imgur.com/UneTgCX.png) Создадим zip-архив с паролем: ![](https://i.imgur.com/1R4XDRn.png) Распаковка zip-архива в текущую директорию: ![](https://i.imgur.com/ttkO9Ht.png) Распаковка zip-архива в другую директорию: ![](https://i.imgur.com/PxbHIG7.png) ## Практическая работа №1.3 ### 1. Установка vim ![](https://i.imgur.com/otCcdZO.png) ### 2. Запуск Vim Создание файла: ![](https://i.imgur.com/m2tjpE3.png) Открываем файл: ![](https://i.imgur.com/YfISAwW.png) Режим обычного (посимвольного) визуального выделения: ![](https://i.imgur.com/G5jkrz6.png) Режим построчного визуального выделения: ![](https://i.imgur.com/tJ55Iwg.png) Режим блочного визуального выделения: ![](https://i.imgur.com/yrs4Vkh.png) Перемещение: gg — переход в начало документа: ![](https://i.imgur.com/A1s0Igd.png) G — переход в конец документа: ![](https://i.imgur.com/6TKh4Z9.png) w — перемещение к следующему слову: ![](https://i.imgur.com/mzq7pee.png) b — перемещение к предыдущему слову: ![](https://i.imgur.com/5LbyLJP.png) e — перемещение к концу слова: ![](https://i.imgur.com/i8XVeMk.png) 0 — перемещение к началу строки: ![](https://i.imgur.com/lfVYGNm.png) $ — перемещение к концу строки: ![](https://i.imgur.com/dP0sctU.png) Поиск текста. Найти фрагмент текста: ![](https://i.imgur.com/BVe1LJz.png) Поиск независимый от регистра: ![](https://i.imgur.com/gFPHcOQ.png) Явное задание регистрозависимого поиска: ![](https://i.imgur.com/LwIFoU4.png) Редактирование. Удаление текста. x — удалить символ на позиции курсора: ![](https://i.imgur.com/4PctFWI.png) d — удалить в заданном командой перемещения направлении(dl): ![](https://i.imgur.com/WGAwJa1.png) dd — удалить строку: ![](https://i.imgur.com/VLq6M7b.png) D — удалить все символы от положения курсора до окончания строки: ![](https://i.imgur.com/Bhru8Ei.png) r — заменить символ на позиции курсора заданным после команды символом: ![](https://i.imgur.com/cRzKJAp.png) c — заменить в заданном командой перемещения направлении: ![](https://i.imgur.com/FH2q2lb.png) C — заменить до окончания строки: ![](https://i.imgur.com/EvtWj0L.png) Копирование и вставка. y — копировать в заданном далее направлении: ![](https://i.imgur.com/bwvSNT3.png) yy — копировать всю строку: ![](https://i.imgur.com/RZslyRJ.png) Y — копировать до окончания строки: ![](https://i.imgur.com/DLbYfM1.png) u — отменить последнее действие: ![](https://i.imgur.com/QeOOTMM.png) <ctrl>-r — вернуть последнее отмененное действие: ![](https://i.imgur.com/lsDnkGP.png) J — присоединить строку ниже к текущей: ![](https://i.imgur.com/NcJilrK.png) Сохранение и выход из программы: ![](https://i.imgur.com/pEU2MO3.png) Команды управления. :q — выход из программы: ![](https://i.imgur.com/l3z7fda.png) :q! — выход из программы с отменой всех изменений, которые не были сохранены: ![](https://i.imgur.com/DPoWKV7.png) :w — сохранить изменения: ![](https://i.imgur.com/flLmqRS.png) :e — редактировать указанный далее файл: ![](https://i.imgur.com/AMD2Rs8.png) ### vimtutor ![](https://i.imgur.com/AcAwkfl.png) ![](https://i.imgur.com/O5YbT5l.png) ![](https://i.imgur.com/dWA69vq.png) ![](https://i.imgur.com/1sZeF4v.png) ![](https://i.imgur.com/S1sHCNc.png) ![](https://i.imgur.com/8tqO93e.png) ![](https://i.imgur.com/5sjJy8m.png) ![](https://i.imgur.com/bzA3XOB.png) ![](https://i.imgur.com/99BetYP.png) ![](https://i.imgur.com/KfR1sxR.png) ![](https://i.imgur.com/MKG3OoS.png) ![](https://i.imgur.com/xh4HFiW.png) ![](https://i.imgur.com/moD0BjM.png) ![](https://i.imgur.com/LBifTwn.png) ![](https://i.imgur.com/0yfWCgi.png) ![](https://i.imgur.com/54i8tHd.png) ![](https://i.imgur.com/UYicH9Q.png) ![](https://i.imgur.com/TW3e3RB.png) ### Контрольные вопросы change to insert mode: ![](https://i.imgur.com/WuK8Jm4.png) move left, down, up, right: ![](https://i.imgur.com/23pbGm5.png) ![](https://i.imgur.com/bNdWdH1.png) ![](https://i.imgur.com/OV9Yqsw.png) move word at a time: ![](https://i.imgur.com/XA8WCGu.png) remove a character: ![](https://i.imgur.com/I4HcdmA.png) append: ![](https://i.imgur.com/bH1uKvB.png) move to next given char in line (f t): ![](https://i.imgur.com/zEHF14F.png) move to previous char in line(F p): ![](https://i.imgur.com/7XsY1cm.png) repeat last f: ![](https://i.imgur.com/GpwTzl9.png) Search text: ![](https://i.imgur.com/tFj3Pbd.png) delete by giving movement: ![](https://i.imgur.com/B4e3RfL.png) replaces character below cursor (r T): ![](https://i.imgur.com/Igm3J04.png) move to start/end of line: ![](https://i.imgur.com/qXPwNPO.png) ![](https://i.imgur.com/9ZT3d1O.png) add new line: ![](https://i.imgur.com/bhfxScG.png) Goto corresponding parentheses: ![](https://i.imgur.com/JK67kKM.png) delete to end of line: ![](https://i.imgur.com/PSTiukd.png) clear current line: ![](https://i.imgur.com/NdDkkHp.png) move to start / end of buffer: ![](https://i.imgur.com/isa3EnO.png) copy current line and paste: ![](https://i.imgur.com/4zAoFv9.png)