---
# System prepended metadata

title: Linux_Basic-Остапенко_Владимир-Практика-1

---

# 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.

![](https://i.imgur.com/L4QF4Dw.png)


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

![](https://i.imgur.com/1PZvm0n.png)


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

![](https://i.imgur.com/bfngLLo.png)


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

![](https://i.imgur.com/ay6AlXm.png)


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

![](https://i.imgur.com/dhsBaQs.png)


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

![](https://i.imgur.com/EEQgFbS.png)


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

![](https://i.imgur.com/fWoQ2IA.png)

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

![](https://i.imgur.com/iChdgon.png)
![](https://i.imgur.com/Jh6KxVJ.png)
![](https://i.imgur.com/RVwfSEr.png)

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

![](https://i.imgur.com/oXvgNRU.png)


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

![](https://i.imgur.com/ygAMAnP.png)


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

![](https://i.imgur.com/J6y7Zrz.png)


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

![](https://i.imgur.com/ueZ8i85.png)

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

![](https://i.imgur.com/mndXFLR.png)

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

![](https://i.imgur.com/TlgcY8b.png)

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

![](https://i.imgur.com/y9Vwo50.png)

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

![](https://i.imgur.com/aDdCVks.png)


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

![](https://i.imgur.com/WVCklKq.png)


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

![](https://i.imgur.com/4GZ8uvQ.png)

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

![](https://i.imgur.com/kfiLDCK.png)

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

![](https://i.imgur.com/KAPgzi8.png)

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

![](https://i.imgur.com/m1VHgvx.png)

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

![](https://i.imgur.com/SWOSvJ3.png)


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

![](https://i.imgur.com/yYl1AD6.png)

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

![](https://i.imgur.com/fQCjfnY.png)

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

![](https://i.imgur.com/1UJQc8k.png)

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

![](https://i.imgur.com/Mmnd1wz.png)

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

![](https://i.imgur.com/slHqC0J.png)

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

![](https://i.imgur.com/zJJaNpa.png)

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

![](https://i.imgur.com/FBc5sRx.png)


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

![](https://i.imgur.com/gehSbFv.png)
![](https://i.imgur.com/SbJ5y1b.png)

> (Пинговал EVE-NG)

## Практическая работа №1.2  **“GREP”**


### **Цель:**

- Научиться базовым функциям команды GREP.

### Задачи:

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


### Решение

1.1 Поиск файлов

![](https://i.imgur.com/Kvsk3Ts.png)


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

![](https://i.imgur.com/flCRe6x.png)

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

![](https://i.imgur.com/qSzDCLV.png)

> Скачал два трека mp3 от ABC Kids

1.4 Отображение количества строк до или после строки поиска

![](https://i.imgur.com/5VMm3Bk.png)

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

![](https://i.imgur.com/JhFDLfF.png)

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

![](https://i.imgur.com/HW6zHE1.png)

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

![](https://i.imgur.com/jOtDdD1.png)

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

![](https://i.imgur.com/PcyPWL9.png)

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

![](https://i.imgur.com/20WGNO9.png)

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

![](https://i.imgur.com/wmbUQ26.png)

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

Создаем zip-архив папки

![](https://i.imgur.com/qGreIO7.png)

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

![](https://i.imgur.com/hTDv5vH.png)


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


### **Цель:**

- Научиться работать в VIM.

### Задачи:

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


Решение:

1.3.1 Создание файла:

![](https://i.imgur.com/FEUMfUf.png)

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

![](https://i.imgur.com/rPRWMSx.png)

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

![](https://i.imgur.com/EUSjw7e.png)

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

![](https://i.imgur.com/lG3IR68.png)


1.3.2 Перемещение

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

![](https://i.imgur.com/eANQlDZ.png)

G — переход в конец документа. 
![](https://i.imgur.com/TRJzCZ1.png)

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

![](https://i.imgur.com/9lYjVex.png)

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

![](https://i.imgur.com/Gbtp9QC.png)

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

![](https://i.imgur.com/sXwXl24.png)

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

![](https://i.imgur.com/7Lh8Zvl.png)

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

![](https://i.imgur.com/WWJ3tJe.png)

1.3.3 Поиск текста

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

![](https://i.imgur.com/7nfBr8u.png)

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

![](https://i.imgur.com/z9qcUhT.png)

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

![](https://i.imgur.com/dl0cgam.png)


1.3.4 Редакирование

1.3.4.1 Удаление текста

x — удалить символ на позиции курсора

![](https://i.imgur.com/s4W0AXP.png)

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

![](https://i.imgur.com/tbCSdB4.png)
![](https://i.imgur.com/DMFT8Y4.png)

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

![](https://i.imgur.com/2AmB2iT.png)


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

![](https://i.imgur.com/FnypIGg.png)

![](https://i.imgur.com/KQdMqZp.png)


Замена текста

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

![](https://i.imgur.com/Xky8fIf.png)

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

![](https://i.imgur.com/jGIU1ZU.png)

>cb

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

![](https://i.imgur.com/2a61A2J.png)

1.3.4.2 Копирование и вставка

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

![](https://i.imgur.com/KQhizwB.png)

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

![](https://i.imgur.com/kuvvIPP.png)

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

1.3.4.2 Дополнительные команды редактирования

u — отменить последнее действие

![](https://i.imgur.com/SoaYB5m.png)

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

![](https://i.imgur.com/fl9r1MH.png)

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

![](https://i.imgur.com/KA0vBE9.png)

1.3.5 Командный режим

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

![](https://i.imgur.com/Ct6Tfzs.png)


1.3.6

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

![](https://i.imgur.com/71sIZHR.png)

Удалить текст от текущей позиции до окончания файла:

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

![](https://i.imgur.com/Lh9TjBF.png)


1.4 Заключение - vimtutor

**Two modes, insert and normal**

change to insert mode - i

![](https://i.imgur.com/SVYFfZQ.png)

change back to normal mode - Esc

![](https://i.imgur.com/Hu7Hiva.png)


Basic movement: h, j, k, and l

![](https://i.imgur.com/IMDXYOu.png)

Word movement: w, e, b

![](https://i.imgur.com/MOjQNG3.png)

Number powered movement, e.g. 5w

![](https://i.imgur.com/BRYEpFJ.png)


Insert text repeatedly, e.g. 3iYes

![](https://i.imgur.com/iLlvjgE.png)

Find a character, f and F

![](https://i.imgur.com/pKSbkly.png)

Go to matching parentheses, %

![](https://i.imgur.com/rpxkaoR.png)

Find word under cursor, * and #

![](https://i.imgur.com/NLzhpMQ.png)

Goto line, g and G

![](https://i.imgur.com/7DLAHQ9.png)

Search, /text with n and N

![](https://i.imgur.com/JRFWADl.png)

Insert new line, o and O

![](https://i.imgur.com/JyYxsE0.png)

Removing a character, x and X

![](https://i.imgur.com/69ZroST.png)

Replacing letter under cursor, r

![](https://i.imgur.com/lcpHWLA.png)

Deleting, d

![](https://i.imgur.com/d5BhRK4.png)

Repetition with .

![](https://i.imgur.com/hdngzJa.png)

Visual mode, v

![](https://i.imgur.com/2TosBfq.png)

Real Vim awaits

![](https://i.imgur.com/1pjhj3M.png)

The end

![](https://i.imgur.com/g4ytIXp.png)

True "The end")

![](https://i.imgur.com/XQqzi3E.png)



