# Катенин Владимир - OS Linux Basic. Занятие 1. Основы Linux
[toc]
## Практическая работа №1.1 Работа в командной строке
1. Посмотрим под каким пользователем в системе Linux с помощью команды **whoami**

---
2. Перейдем в корневой каталог c помощью команды **cd /**

---
3. Посмотрим содержимое каталога с помощью команды **ls -l**

---
4. Определим типы команд ls, cd с помощью **type**

---
5. Посмотрим из корневого каталога содержимое директории Home с помощью команды **cd /home/**

---
6. Перейдем в директорию /tmp с помощью команды **cd tmp/**

---
7. Создадим директорию /pt с помощью команды **mkdir pt**

---
8. Создадим 3 текстовых документа 1.txt 2.txt 3.txt с помощью **touch**

---
9. Изменим содержимое текстового документа с помощью редакторов nano и vim



---
10. Скопируем и переименуем директорию с файлами

---
11. Заархивируем директорию

---
12. Разархивируем директорию

---
13. Посмотрим содержимое домашней директории и каталога usr одной командой

---
14. Посмотрим содержимое каталога в обратном порядке

---
15. Посмотрим права на директорию

---
16. Посмотрим права на текстовые файлы

---
17. Переместим и переименуем один текстовый файл в директорию /tmp

---
18. Создадим новую директорию, в ней создадим новый текстовый документ, переместим из директории /tmp файл в новую директорию с заменой файла и запросом на его изменение

---
19. Определим местоположение данного исполняемого файла ls, cd

---
20. Выведем краткое описание команды и утилиты ls, nano, rm

---
21. Создадим символические ссылки

---
22. Создадим символическую ссылку в никуда, продемонстрируем её

---
23. Создадим прямые ссылки

---
24. Создадим собственную команду, которая будет использовать следующее: cd /usr; ls; cd - , с помощью alias

---
25. С помощью команды cat напишем любой текст и запишем его в текстовый файл

---
26. Удалим один текстовый файл

---
27. Создадим пустую директорию и удалим её

---
28. Удалим директорию с 3-я текстовыми файлами

---
29. Создадим пользователя


---
30. Поменяем пароль нового пользователя

---
31. Найдем текстовый документ с помощью команд Find и Grep


---
32. Воспользуемся логическими 'и' и 'или', как пример используем команду ping

---
## Практическая работа №1.2 GREP
1. Вы проводите поиск в Интернете, и видите, что используются две разные версии Python, и вы не знаете, какая из них был установлен в вашей системе установщиком Ubuntu или Debian, и устанавливал ли он какие-либо дополнительные модули?

Сначала мы запустили dpkg -l, чтобы вывести установленные *.deb пакеты в вашей системе. Далее мы передали этот вывод в grep -i python. Опция -i используется, чтобы игнорировать регистр, поскольку grep чувствителен к нему. Использование опции -i — хорошая привычка, если вы конечно, не пытаетесь выполнить более конкретный поиск.
---
2. Допустим, у вас возникли проблемы с вашим веб-сервером Apache, и вы обратились к одному из многих форумов в сети с просьбой о помощи. Добрая душа, которая вам ответила, попросила вас отправить содержимое вашего файла `/etc/apache2/sites-available/default-ssl`. Разве вам не было бы легче, если бы вы могли просто удалить все закомментированные строки?

Опция -v указывает grep инвертировать свой вывод, что означает, что вместо печати совпадающих строк grep сделает противоположное и выведутся строки, которые не соответствуют выражению, в этом случае – закомментированные строки.
---
3. Например, предположим, что у вас есть целая папка, полная музыкальных файлов разных форматов. Вы хотите найти все файлы `.mp3` у исполнителя ABC, но вы не хотите никаких ремиксов. Как поступить?

Мы используем find для вывода всех файлов с расширением *.mp3, связывая поиск с grep -i, чтобы отфильтровать и вывести все файлы с именем «ABC», а затем еще одна опция для grep -vi, которая фильтрует и не выводит все имена файлов со словом «remix».
---
4. Как отобразить количество строк до или после строки поиска?

---
5. Как вывести количество строк совпадения?

---
6. Как выяснить количество совпадений?

---
7. Как найти файлы по заданным номерам строк?

---
8. Произвести поиск рекурсивной строки во всех каталогах.

---
9. Произвести поиск строк в архиве файлов Gzip







---
## Практическая работа №1.3 Философия Vim
Установка Vim

Уже установлен
---
1. Создание файла


Нормальный режим стоит по умолчанию

Режим вставки:

Режим визуального выделения:
Посимвольное выделение:

Построчное выделение:

Блочное выделение:

---
2. Перемещение
- h — перемещение влево
- j — перемещение вниз
- k — перемещение вверх
- l — перемещение вправо
Дополнительные функции:
- gg — переход в начало документа
- G — переход в конец документа. Если предварительно ввести номер — переместиться на строку с этими номером
- w — перемещение к следующему слову. Если предварительно ввести количество — переместиться на это количество слов
- b — перемещение к предыдущему слову. Если предварительно вввести количество — переместиться на это количество слов назад
- e — перемещение к концу слова. Если предварительно указать количество — переместиться на указанное количество слов
- 0 — перемещение к началу строки
- $ — перемещение к концу строки
---
3. Поиск текста



---
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 — присоединить строку ниже к текущей

---
5. Командный режим
**Команды управления задаются вводом “:” перед каждой командой.**
- :q — выход из программы. Действие не будет выполнена, если не сохранить изменения
- :q! — выход из программы с отменой всех изменений, которые не были сохранены
- :w — сохранить изменения. При первичном сохранении или сохранении в другой файл укажите имя через пробел
- :e — редактировать указанный далее файл
- :bn — редактировать следующий файл (если открыто несколько файлов)
- :bp — редактировать предыдущий файл (если открыто несколько файлов)
- :qw – сохранить файл и выйти

---
6. Объединение команд
Например, :y5w (y — копировать, 5 — количество, w — слов)

---
7. Обучение на сайте openvim












