# Linux_Basic-Остапенко_Владимир-Практика-1
## Практическая работа №1.1 "Работа в командной строке"
### **Цель работы:**
- Научиться работать в командной строке на уровне опытного пользователя.
### Задача:
- Выполнить все задания.
- Необходимо работать исключительно в терминале.
**Задания:**
1. Посмотреть под каким пользователем в системе Linux.
2. Перейти в корневой каталог.
3. Посмотреть содержимое каталога.
4. Определить типы команд ls, cd.
5. Посмотреть из корневого каталога содержимое директории Home.
6. Перейти в директорию /tmp.
7. Создать директорию /pt.
8. Создать 3 текстовых документа 1.txt 2.txt 3.txt.
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. Посмотреть под каким пользователем в системе Linux.

2. Перейти в корневой каталог и посмотреть содержимое каталога.

3. Определить типы команд ls, cd.

4. Посмотреть из корневого каталога содержимое директории Home.

5. Перейти в директорию /tmp.

6. Создать директорию /pt.

7. Создать 3 текстовых документа 1.txt 2.txt 3.txt.

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



9. Скопировать и переименовать директорию с файлами.

10. Заархивировать директорию.

11. Разархивировать директорию.

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

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

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

15. Посмотреть права на текстовые файлы.

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

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

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

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

20. Создать символические ссылки.

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

22. Создать прямые ссылки.

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

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

25. Удалить один текстовый файл

26. Создать пустую директорию и удалить её

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

28. Создать пользователя и поменять пароль нового пользователя

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

30. Воспользоваться логическими 'и' и 'или' как пример использовать команду ping


> (Пинговал EVE-NG)
## Практическая работа №1.2 **“GREP”**
### **Цель:**
- Научиться базовым функциям команды GREP.
### Задачи:
- Вы проводите поиск в Интернете, и видите, что используются две разные версии Python, и вы не знаете, какая из них был установлен в вашей системе установщиком Ubuntu или Debian, и устанавливал ли он какие-либо дополнительные модули?
- Допустим, у вас возникли проблемы с вашим веб-сервером Apache, и вы обратились к одному из многих форумов в сети с просьбой о помощи. Добрая душа, которая вам ответила, попросила вас отправить содержимое вашего файла `/etc/apache2/sites-available/default-ssl`. Разве вам не было бы легче, если бы вы могли просто удалить все закомментированные строки?
- Например, предположим, что у вас есть целая папка, полная музыкальных файлов разных форматов. Вы хотите найти все файлы `.mp3` у исполнителя ABC, но вы не хотите никаких ремиксов. Как поступить?
- Как отобразить количество строк до или после строки поиска?
- Как вывести количество строк совпадения?
- Как выяснить количество совпадений?
- Как найти файлы по заданным номерам строк?
- Произвести поиск рекурсивной строки во всех каталогах.
- Произвести поиск строк в архивах файлах Gzip. (создать zip архив см.п.1.10)
### Решение
1.1 Поиск файлов

1.2 Поиск и фильтрация файлов

1.3 Найти все файлы .mp3

> Скачал два трека mp3 от ABC Kids
1.4 Отображение количества строк до или после строки поиска

1.5 Вывод количества строк совпадения

1.6. Количество совпадений

1.7 Поиск файлов по заданным номерам строк

1.8 Поиск рекурсивной строки во всех каталогах

1.9 Поиск по всему шаблону

1.10 Поиск строки в архивах файлах Gzip

1.11 Создаем простой zip-архив
Создаем zip-архив папки

Распаковка zip-архива

## Практическая работа №1.3 Философия Vim
### **Цель:**
- Научиться работать в VIM.
### Задачи:
- Выполнить все задания.
**Vim** — один из самых противоречивых инструментов из всех видевших свет. Это не просто редактор, это лакмусовая бумажка, четко разделяющая программистов, администраторов и юниксоидов на своих и чужих. Пока одни задаются вопросом, зачем нужна эта мертвечина в XXI веке, другие не могут представить себе жизни без Vim. Но чем же он их привлекает? Почему у редактора, который появился на свет более сорока лет назад, столько фанатов в сегодняшнем мире? Попробуем разобраться.
- Контрольные вопросы на знание того, что проделано в данной работе и в интерактивное обучение [https://www.openvim.com/](https://www.openvim.com/).
- Сделать скриншоты выполнения заданий.
Решение:
1.3.1 Создание файла:

v — режим обычного (посимвольного) визуального выделения

V — режим построчного визуального выделения.

[ctrl]-v — режим блочного визуального выделения.

1.3.2 Перемещение
gg — переход в начало документа

G — переход в конец документа.

w — перемещение к следующему слову

b — перемещение к предыдущему слову

e — перемещение к концу слова.

0 — перемещение к началу строки

\$ — перемещение к концу строки

1.3.3 Поиск текста
Что бы найти фрагмент текста, нужно перед текстом поиска ввести слэш «/» и нажать enter

По умолчанию поиск в vim регистрозависимый, для того что бы сделать поиск независимый от регистра, нужно перед текстом ввести следующую комбинацию "/\c"

Если же наоборот нужно сделать явное задание регистрозависимого поиска используйте комбинацию «/\C»

1.3.4 Редакирование
1.3.4.1 Удаление текста
x — удалить символ на позиции курсора

d — удалить в заданном командой перемещения направлении. Например, “dl” удаляет один символ справа


dd — удалить строку

D — удалить все символы от положения курсора до окончания строки


Замена текста
r — заменить символ на позиции курсора заданным после команды символом

c — заменить в заданном командой перемещения направлении. Например, “cb” заменяет предыдущее слово. Для набора текста на замену запускается режим вставки.

>cb
C — заменить до окончания строки. Текст на замену набирается в режиме вставки.

1.3.4.2 Копирование и вставка
y — копировать в заданном далее направлении

yy — копировать всю строку

> p — вставить последнюю скопированную (или удаленную!) строку ниже текущей - примеялось сразу после выделения
1.3.4.2 Дополнительные команды редактирования
u — отменить последнее действие

\<ctrl\>-r — вернуть последнее отмененное действие

J — присоединить строку ниже к текущей

1.3.5 Командный режим
:q — выход из программы.
:w — сохранить изменения.

1.3.6
:y5w (y — копировать, 5 — количество, w — слов)

Удалить текст от текущей позиции до окончания файла:
:dG (d — удалить, G — переход в конец файла)

1.4 Заключение - vimtutor
**Two modes, insert and normal**
change to insert mode - i

change back to normal mode - Esc

Basic movement: h, j, k, and l

Word movement: w, e, b

Number powered movement, e.g. 5w

Insert text repeatedly, e.g. 3iYes

Find a character, f and F

Go to matching parentheses, %

Find word under cursor, * and #

Goto line, g and G

Search, /text with n and N

Insert new line, o and O

Removing a character, x and X

Replacing letter under cursor, r

Deleting, d

Repetition with .

Visual mode, v

Real Vim awaits

The end

True "The end")
