diff --git a/Homework_Prosvirnin_Denis/2-User manage/task1.md b/Homework_Prosvirnin_Denis/2-User manage/task1.md
new file mode 100644
index 0000000..550e23e
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/2-User manage/task1.md
@@ -0,0 +1,69 @@
+# Управление пользователями
+
+#### 1. Добавьте пользователей user1 и user2:
+ 1.1) user1 - оболочка bash
+ 1.2) user2 - оболочка sh
+ 1.3) установите им пароли
+
+Добавляю пользователя с оболочкой bash и устанавливаю пароль:
+
+
+
+Добавляю пользователя с оболочкой sh и устанавливаю пароль:
+
+
+
+#### 2. Назначьте пользователю 1 группу администраторов, пользователя 2 добавьте в группу пользователя 1
+
+Добавляю (`append group`) user1 в группу `wheel` (администратора) и добавляю user2 в группу user1:
+
+
+
+#### 3. Что такое права доступа? Выведите права доступа на файлы в директории пользователя
+
+Права доступа в Linux - это система разрешений, которая определяет, какие операции могут выполнять разные пользователи с файлами и директориями.
+
+Права разделены на три категории:
+
+Права для владельца (user) - пользователь, который создал файл
+Права для группы (group) - пользователи, входящие в одну группу с владельцем
+Права для остальных (others) - все остальные пользователи системы
+
+Типы прав:
+
+r (read) - право чтения файла или просмотра содержимого директории
+w (write) - право записи в файл или создания/удаления файлов в директории
+x (execute) - право выполнения файла как программы или доступа к директории
+
+
+
+#### 4. Как изменить права на файлы? Создайте файл который будет на который у всез пользователей будут все возможные права
+
+Чтобы изменить права доступа к файлам используется команда chmod (change mode). Каждая категория представляется числом от 0 до 7. r (read) = 4, w (write) = 2, x (execute) = 1. Командой, при помощи записи "777" (4+2+1, 4+2+1, 4+2+1) устанавливаем для всех пользователей все права.
+
+
+
+#### 5. Как называется учётная запись встренного администратора в linux?
+
+Основная встроенная учетная запись суперпользователя - **root**.
+
+#### 6. Как выполнить команду от имени администратора?
+
+1. `sudo /команда/`
+Выполнить команду от имени администратора.
+2. `su -`
+Переключиться на `root` и далее все команды будут происходить под суперпользователем.
+
+#### 7. Есть ли ограничения у суперпользователя?
+
+Нет, суперпользователь может делать в системе всё, что система в принципе способна делать.
+
+#### 8. Удалите пользователя 2 с помощью пользователя 1.
+
+Для удаления пользователей обычно требуются права администратора. Но поскольку user1 был добавлен в группу wheel (администраторов), он может использовать команду sudo для выполнения привилегированных операций.
+
+
+
+#### 9. Как можно изменить владельца папки? измените владельца папки из пункта 4
+
+
diff --git a/Homework_Prosvirnin_Denis/2-User manage/task2.md b/Homework_Prosvirnin_Denis/2-User manage/task2.md
new file mode 100644
index 0000000..2c0f206
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/2-User manage/task2.md
@@ -0,0 +1,19 @@
+### Запрещаем
+
+1. Запретите пользователю user1 из предыдщуего задания выполнять вход в систему
+
+ Есть несколько способов заблокировать пользователя. Я воспользуюсь изменением оболчки пользователя на специальную, которая запрещает вход.
+
+
+
+2. Как вы это сделали?
+
+ Изменил оболочку пользователя с /bin/bash на /sbin/nologin, которая запрещает интерактивный вход в систему. При последующей попытке входа в консоль будет выводиться сообщение: `"this account is currently not available."`
+
+3. Какие ещё способы это сделать вы знаете?
+
+ Можно заблокать учетную запись с помощью `usermod -L user1`, изменить срок действия пароля с помощью `usermod -e 1 user1` и иожно удалить пользователя из всех групп `usermod -G "" user1`.
+
+4. Можно ли создать пользователей с одинаковыми username?
+
+ Нет, имена пользователей должны быть уникальными.
diff --git a/Homework_Prosvirnin_Denis/3-File systems/task1.md b/Homework_Prosvirnin_Denis/3-File systems/task1.md
new file mode 100644
index 0000000..c69fab2
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/3-File systems/task1.md
@@ -0,0 +1,119 @@
+### ФС
+
+#### 1) Какие файловые системы вы знаете?
+Для Linux: ext4 (основная для дисков), XFS (для больших файлов), ZFS.
+
+Для Windows: NTFS, FAT32.
+
+NFS - для Unix-систем.
+
+#### 2) Как можно классифиировать файловые системы? в чём отличия??
+
+**По механизму обеспечения надежности:**
+
+**Журналируемые.** Отличается повышенной надежностью, эта ФС гарантирует сохранность ваших данных. Все действия пользователя и системы записываются в специальный журнал, что не только позволяет отслеживать историю изменений и диагностировать неполадки, но и обеспечивает целостность данных даже в случае внезапного сбоя.
+
+**Не журналируемые.** Нет записи историй действий, нет гарантий сохранности информации.
+
+**По структуре метаданных:**
+
+**Табличные.** Простая и универсальная структура, где вся информация хранится в линейных таблицах. Не поддерживает сложные метаданные или разграничение прав доступа, но обеспечивает максимальную совместимость между различными операционными системами.
+
+**Древовидные.** Современная и высокопроизводительная организация данных, использующая сбалансированные деревья для хранения информации. Обеспечивает быстрый поиск файлов и эффективность при работе с большими директориями.
+
+**На основе inode (индексных дескрипторов).** Отличается структурой, где каждому файлу присваивается уникальный идентификатор. Все данные организованы в строгой иерархии, что гарантирует стабильную производительность и предсказуемое поведение даже при высоких нагрузках.
+
+**По назначению:**
+
+**Локальные** - для локального хранения данных на жёстких дисках.
+
+**Сетевые** - для удаленного доступа к файлам.
+
+**Виртуальные** - представляют данные о системе в виде файлов.
+
+#### 3) Какие файловые системы используются в linux?
+
+**Основные дисковые файловые системы:**
+
+**ext4 (Fourth Extended File System)** - стандартная и наиболее распространенная файловая система в Linux. Поддерживает журналирование, файлы до 16 ТБ и разделы до 1 Эксабайта.
+
+**XFS** - высокопроизводительная файловая система, особенно эффективная для работы с большими файлами. Широко используется в серверных окружениях.
+
+**Btrfs (B-Tree File System)** - современная файловая система с поддержкой снапшотов, сжатия данных и проверкой целостности "на лету".
+
+**ZFS** - продвинутая файловая система с функциями управления томами, поддержкой снапшотов и высокой отказоустойчивостью.
+
+**Специализированные файловые системы:**
+
+**F2FS (Flash-Friendly File System)** - оптимизирована для SSD-накопителей и флеш-памяти.
+
+**swap** - используется для области подкачки (виртуальной памяти).
+
+**Виртуальные файловые системы:**
+
+**procfs (/proc)** - предоставляет информацию о процессах и системе в виде файлов.
+
+**sysfs (/sys)** - отображает информацию об устройствах и драйверах ядра.
+
+**tmpfs** - файловая система в оперативной памяти для временных файлов.
+
+**devtmpfs (/dev)** - предоставляет интерфейс для работы с устройствами.
+
+**Сетевые файловые системы:**
+
+**NFS (Network File System)** - для доступа к файлам по сети в Unix-системах.
+
+**CIFS/SMB** - для совместного использования файлов с Windows-системами.
+
+#### 4) Как можно создать файловую систему на диске?
+
+`fdisk` / `gdisk` - утилиты для создания и управления разделами диска
+
+`mkfs` - основная команда для создания файловых систем
+
+`mke2fs` - специализированная утилита для создания ext2/ext3/ext4
+
+`fsck` - проверка и восстановление файловых систем
+
+
+
+#### 5) Как можно подключить диск в систему, что такое монтирование?
+
+Монтирование - это процесс подключения файловой системы (диска, раздела, сетового ресурса) к определённой точке в дереве каталогов Linux, чтобы получить доступ к данным.
+
+
+
+#### 6) файловая система procfs, cifs, tpmfs,sysfs. В чём особенности каждой из них? Вывести каталоги к которым примонтированы эти файловые системыю
+
+`procfs` (/proc) - виртуальная файловая система, предоставляющая информацию о процессах и системе в реальном времени.
+
+`tmpfs` - файловая система в оперативной памяти для временных файлов.
+
+`sysfs` (/sys) - предоставляет информацию об устройствах, драйверах и компонентах ядра.
+
+`cifs` - сетевая файловая система для доступа к общим ресурсам Windows.
+
+
+
+(Команда `mount | grep cifs` ничего не вернула т.к. сетевые папки не смонтированы.)
+
+#### 7) Как можно получить информацию о системе используя лишь команду cat? вывести ифонмацию о процессоре и состоянии памяти системы
+
+В Linux много системной информации доступна через виртуальные файлы в директориях `/proc` и `/sys`. Команда `cat` позволяет читать эти файлы и получать информацию о системе.
+
+`cat` /proc/cpuinfo - детальная информация о процессоре - модель, количество ядер, частота, кэш, поддерживаемые инструкции.
+
+`cat` /proc/loadavg - средняя загрузка системы за 1, 5 и 15 минут, количество запущенных процессов.
+
+`cat` /proc/meminfo - Детальная информация об использовании оперативной памяти и swap - общий объем, свободно, кэшировано, буферы.
+
+`cat` /proc/version - версия ядра Linux, компилятора и информация о дистрибутиве.
+
+`cat` /proc/uptime - время работы системы в секундах (первое число) и суммарное время простоя процессоров (второе число).
+
+
+
+
+
+
+
diff --git a/Homework_Prosvirnin_Denis/3-File systems/task2.md b/Homework_Prosvirnin_Denis/3-File systems/task2.md
new file mode 100644
index 0000000..b104910
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/3-File systems/task2.md
@@ -0,0 +1,40 @@
+### Струтура каталогов
+
+#### 1) Какая структура каталогов в linux? выведите список файлов в корне системы
+В Linux используется стандартная иерархия файловой системы (FHS - Filesystem Hierarchy Standard). Корневая директория `/` содержит основные системные каталоги.
+
+
+
+#### 2) Где хранятся папки пользователей в системе?
+
+Папки пользователей хранятся в каталоге `/home/`.
+
+
+
+#### 3) Где домашняя папка суперпользователя?
+
+Домашняя папка суперпользователя находится в `/root/`.
+
+
+
+#### 4) Где хранятся основые конфигурационные файлы в системе?
+
+Основные конфигурационные файлы системы хранятся в каталоге `/etc/`.
+
+
+
+#### 5) ЧТо за папки /bin,/sbin,usr/sbin,/usr/sbin
+
+**/bin** (binary) - основные исполняемые файлы, необходимые для работы системы в однопользовательском режиме. Содержит критически важные команды, такие как `ls`, `cp`, `mv`, `cat`, `bash`.
+
+**/sbin** (system binary) - системные исполняемые файлы, предназначенные для административных задач. Содержит команды для управления системой: `fdisk`, `fsck`, `ifconfig`, `reboot`. Требуют прав суперпользователя.
+
+**/usr/bin** (user binary) - основные исполняемые файлы для обычных пользователей. Содержит большинство пользовательских команд и приложений: `gcc`, `python`, `vim`, `ssh`.
+
+**/usr/sbin** (user system binary) - системные исполняемые файлы для административных задач, не являющиеся критически важными для загрузки системы. Содержит дополнительные системные утилиты.
+
+**Основные различия:**
+- `/bin` и `/sbin` - необходимы для минимальной работы системы
+- `/usr/bin` и `/usr/sbin` - содержат дополнительные программы
+- Команды в `/sbin` и `/usr/sbin` обычно требуют прав root
+- Команды в `/bin` и `/usr/bin` доступны всем пользователям
diff --git a/Homework_Prosvirnin_Denis/3-File systems/task3.md b/Homework_Prosvirnin_Denis/3-File systems/task3.md
new file mode 100644
index 0000000..f7a3171
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/3-File systems/task3.md
@@ -0,0 +1,71 @@
+### Продолжаем
+
+#### 1. Выведите содержимое fstab. Что хранится в fstab?
+
+Файл `/etc/fstab` содержит информацию о файловых системах, которые автоматически монтируются при загрузке системы.
+
+
+
+#### 2. Добавьте в виртуальную машину ещё один диск
+
+пу пу пу
+В UTM нажал изменить, диск - новый и добавил
+
+
+
+#### 3. Узнайте как ситема видит ваш диск - выведите информацию о блочных устройствах
+
+Чтоб вывести информацию о дисках использую команду `lsblk`
+
+
+
+#### 4. С помощью полученной информации создайте на диске таблицу разделов и фаловую систему ext4
+
+Создаю таблицу разделов с помощью `fdisk` и настраиваю.
+
+
+
+Cоздать файловую систему c использованием `mkfs` ext4 — тип файловой системы, /dev/sdb1— раздел на диске, где будет создана файловая система.
+
+
+
+#### 5. Примонитруте диск в каталог /mnt
+
+Монтирую с помощью `mount` и проверяю куда смонтирован диск.
+
+
+
+#### 6. Зайдите в каталог и создайте там файлы
+
+После монтирования диск становится доступен как обычная директория. Все созданные файлы и папки физически хранятся на подключенном диске. Захожу в файловую систему и создаю файлы.
+
+
+
+#### 7. Отмонтируйте диск и проверье остались ли файлы
+Перешел в корневую директорию, отмонтировал, проверил, что отмонтировалось. `/mnt/new_disk` отсутствует, значит, он успешно отмонтирован. Затем проверил содержимое директории, там пусто. Обраьно смонтировал и проверил содержимое файла, все сохранилось.
+
+
+
+#### 8. Сделайте так чтобы диск автоматически подключался при загрузке систем ( добавьте информацию о нём с fstab)
+
+Что хранится в fstab?
+
+Файл `/etc/fstab` содержит информацию о файловых системах, которые должны автоматически монтироваться при загрузке системы.
+
+Сначала узнаем UUID диска `/dev/vdb1` и добавляем запись в `fstab`.
+
+
+
+(есть несовпадение, но все исправлено)
+
+#### 9. Проверьте корретность записанных в fstab данных перед перезагрузкой
+
+Монтирует все файловые системы, указанные в `/etc/fstab`. Для проверки синтаксиса и корректности записей в `fstab` без перезагрузки системы. `findmnt -T /mnt/new_disk` для проверки, что диск действительно смонтирован с правильными параметрами.
+
+
+
+#### 10. Перезагрущите систему и убедитесь что диск был подключён к системе.
+
+все ок
+
+
diff --git a/Homework_Prosvirnin_Denis/3-File systems/task4.md b/Homework_Prosvirnin_Denis/3-File systems/task4.md
new file mode 100644
index 0000000..fda39d7
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/3-File systems/task4.md
@@ -0,0 +1,77 @@
+### Продолжаем
+
+#### 1. Raid массивы, что такое икакие бывают
+
+RAID (Redundant Array of Independent Disks) - это технология объединения нескольких физических дисков в единый логический элемент.
+
+RAID 0 (чередование) повышает производительность за счёт распределения данных по нескольким дискам.
+
+RAID 1 (зеркалирование) обеспечивает надёжность путём полного дублирования данных.
+
+RAID 5 сочетает производительность и отказоустойчивость через распределение данных и контрольных сумм.
+
+RAID 10 объединяет зеркалирование и чередование для максимальной производительности и надёжности.
+
+#### 2. Добавьте в виртуальную машину 2 диска отформатируйте их в ext4
+
+Добавил 2 новых диска в виртуальную машину (vdc и vdd по 2GB каждый). я использую UTM, поэтомы прост тыкнул на виртуалку, изменить, добавить диск.
+
+Создал разделы на каждом диске с помощью `fdisk`
+
+Отформатировал разделы в файловую систему `ext4` с помощью `mkfs.ext4`
+
+
+
+Пробую такой формат. сказали, что вроде так и надо
+
+#### 3. Создайте из них raid 0 массив
+
+Команда создает RAID 0 массив из двух дисков /dev/vdc1 и /dev/vdd1.
+
+`--create /dev/md0` - создает новый RAID массив с именем /dev/md0
+
+`--level=0` - указывает уровень RAID 0
+
+`--raid-devices=2` - количество дисков в массиве
+
+`/dev/vdc1 /dev/vdd1` - разделы для объединения в RAID
+
+
+
+Чтение и запись происходят параллельно на два диска одновременно
+
+#### 4. Проверье всё ли работает
+
+Проверил:
+
+
+
+#### 5. Удалите raid0 и создайте raid1
+
+Первая команда `mdadm --stop /dev/md0` - останавливает и разбирает RAID 0 массив.
+
+Вторая команда cоздает новый RAID 1 массив с именем `/dev/md1`, `--level=1` - указывает уровень RAID 1, bспользует те же диски, но теперь в режиме полного дублирования данных
+
+
+
+#### 6. В чём между ними разница?
+
+RAID 0 делит информацию на части и раскидывает по двум дискам - так работа идет быстрее, и мы получаем всё место обоих дисков.
+RAID 1 наоборот - записывает одинаковые данные на оба диска, создавая копию.
+Если один диск сломается, все данные останутся на втором, но полезного места будет в два раза меньше.
+Проще говоря: RAID 0 - для скорости, RAID 1 - для надежности.
+
+#### 7. Есть ли файловые системы которые поддерживают raid массивы без стороненго ПО
+
+Да, существуют файловые системы со встроенной поддержкой RAID:
+
+Btrfs (B-tree File System) - Встроенные уровни RAID: 0, 1, 10, 5, 6
+
+ZFS (Zettabyte File System) - Встроенные уровни: RAID-Z (аналог RAID 5), RAID-Z2, RAID-Z3
+
+LVM (Logical Volume Manager) + обычные ФС - Можно создать аналог RAID через LVM-зеркалирование. Затем поверх создать ext4/xfs файловую систему
+
+#### 8. Можно ли создать raid массив во время установки системы?
+
+Большинство дистрибутивов (Ubuntu, Debian, RHEL, CentOS) и в том числе ALT Linux позволяют создать RAID-массив прямо в установщике: при ручной разметке дисков есть пункт «Configure software RAID», где выбирают уровень (0, 1 и др.) и диски.
+
diff --git a/Homework_Prosvirnin_Denis/4-Bash/task1.md b/Homework_Prosvirnin_Denis/4-Bash/task1.md
new file mode 100644
index 0000000..60d7e32
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/4-Bash/task1.md
@@ -0,0 +1,62 @@
+## Скриптуем по полной
+
+### 1. Что такое шебанг?
+
+ Шебанг (shebang) - это первая строка в скрипте, которая начинается с #! и указывает системе, какая программа должна выполнять этот скрипт.
+
+ Например: `#!/bin/bash` - выполнять скрипт с помощью Bash
+
+### 2. Обязательно ли исполняемый файл дожен иметь соотвествующее расширение?
+
+ Нет, не обязательно. В Linux расширение файла (.sh, .py и т.д.) не определяет его исполняемость.
+ Файл становится исполняемым когда ему устанавливают права на выполнение командой chmod +x filename.
+ Система смотрит на шебанг в первой строке, чтобы понять как выполнять скрипт.
+
+### 3. Напишите скрипт который выполнит автоматически действия из блока работы с файлами. ( не забудьте включить set -euo pipefail для того что бы ваш скрипт было удобнее отлаживать. Опишите что включают эти флаги)
+
+Описание флагов: `set -e` - остановить выполнение при любой ошибке, `set -u` - считать ошибкой использование необъявленных переменных , `set -o pipefail` - учитывать ошибки в пайпах (командах соединенных | )
+
+Я сделал:
+
+и вставил скрипт ниже.
+```
+#!/bin/bash
+
+set -euo pipefail
+
+echo "Let's go"
+
+echo "Создаем тестовые файлы"
+echo "Это содержимое файла 1" > file1.txt
+echo "Это содержимое файла 2" > file2.txt
+echo "Это содержимое файла 3" > file3.txt
+
+echo "Создаем директорию backup"
+mkdir -p backup
+
+echo "Копируем файлы в backup"
+cp file1.txt file2.txt file3.txt backup/
+
+echo "Переименовываем файлы в backup"
+cd backup
+mv file1.txt backup_file1.txt
+mv file2.txt backup_file2.txt
+mv file3.txt backup_file3.txt
+
+echo "Проверяем созданные файлы:"
+ls -la
+
+echo "Проверяем содержимое файлов:"
+cat backup_file1.txt
+cat backup_file2.txt
+cat backup_file3.txt
+
+echo "Завершена успешно!"
+
+```
+
+`chmod +x script.sh` - делает файл `script.sh` исполняемым. `chmod` - команда для изменения прав доступа к файлам, `+x` - добавляет право на выполнение.
+
+`./script.sh` - запускает скрипт. `./` - означает, что файл нужно искать в этой директории
+
+
diff --git a/Homework_Prosvirnin_Denis/5-Systemd/task1.md b/Homework_Prosvirnin_Denis/5-Systemd/task1.md
new file mode 100644
index 0000000..35dec84
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/5-Systemd/task1.md
@@ -0,0 +1,45 @@
+## Юниты
+
+1. Что такое systemd юнит?
+
+ Systemd юнит - это конфигурационный файл, который описывает как `systemd` должен управлять службой, сервисом или другим системным ресурсом.
+ Основные типы юнитов: service, socket, timer, mount, target
+
+2. Проверье статус любого systemd юнита, какую информацию выводит эта кманда?
+
+ `systemctl status sshd` - показывает детальную информацию о состоянии сервиса SSH. `sshd` - это стандартный сервис, который обычно есть в системе и с ним ниче не будет.
+
+ Какую информацию выводит команда: загружен ли юнит, путь к файлу, включен ли в автозагрузку, текущее состояние (active/running, inactive/dead),
+ идентификатор основного процесса, количество потоков/процессов, потребление памяти, информация о контрольной группе, последние записи журнала.
+
+
+
+3. ПОпробуйте оставновить сервис.
+
+ `systemctl stop sshd` - Останавливает работу SSH сервера. После остановки сервиса, при выводе информации об этом сервисе в строке Active будет inactive (dead).
+
+
+
+4. Перезапустите его.
+
+ Команда `systemctl restart` - полностью останавливает и заново запускает сервис(ssh).
+
+
+
+5. УДалите из автозагрузки
+
+ `systemctl disable sshd` - убирает сервис из автоматического запуска при загрузке системы. Сервис остаётся установленным, но не запускается автоматически.
+
+
+
+6. Верните обратно
+
+ Команда `systemctl enable` - включает автозагрузку. После этого при выводе информации об этом сервисе в строке `Loaded` будет `enabled`.
+
+
+7. Что такое таймеры?
+ Таймеры (timers) в systemd — это специальные юниты, которые предоставляют функциональность планировщика задач,
+ аналогичную традиционному `cron`, но с более широкими возможностями и лучшей интеграцией в современную экосистему systemd.
+ Таймеры реального времени запускаются в зависимости от событий календаря (как cronjobs). Для определения таких таймеров используется опция OnCalendar=. Монотонные таймеры активируются после определенного промежутка времени по отношению к той или иной отправной точке. Они не сработают, если компьютер находится в режиме ожидания или выключен.
+ Есть несколько различных монотонных таймеров, но все они имеют вид: OnTypeSec=. Обычно монотонные таймеры включают в себя OnBootSec и OnUnitActiveSec.
+
diff --git a/Homework_Prosvirnin_Denis/Work_with_files/task1.md b/Homework_Prosvirnin_Denis/Work_with_files/task1.md
new file mode 100644
index 0000000..fcf487e
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/Work_with_files/task1.md
@@ -0,0 +1,87 @@
+### Работа в консольке
+
+1. **Переместиться между директориями**
+
+ Для перемещения между папками используется команда `cd` (change directory).
+
+ Путь может быть абсолютным (полный путь с начала файловой системы):
+
+
+
+ или относительным (от текущей папки):
+
+
+
+ Можно добавить про `cd ..` для перехода на уровень выше, `cd ~` для перехода в домашнюю директорию и `cd /` для перехода в корневую директорию. Скрин:
+
+
+
+2. **Вывести список файлов в директории**
+
+ Команда ls (list) выводит список файлов и папок в текущей директории:
+
+
+
+3. **Вывести список Всех файлов в директории**
+
+ Команда ls -a показывает все файлы, включая скрытые. В Linux скрытыми считаются файлы и папки, имена которых начинаются с точки (обычно это системные файлы и файлы конфигураций).
+
+
+
+4. **Создать папку с подпапками**
+
+ Для создания папки используется команда `mkdir`, а для создания папки с подпапками нужно перейти в нужную папку и создать там папки.
+
+ У меня была создана папка `test`, поэтому я просто перешел в нее и создал там папки
+
+
+
+5. **Внутри папки создать файлик и записать в него что-нибудь**
+
+ У меня есть файлик `test_file` в папке `test`, поэтому запишу туда.
+
+ Для создания файлов с текстом можно использовать текстовый редактор `nano`. После запуска открывается редактор где можно сразу писать текст. Внизу экрана отображаются основные команды.
+
+
+
+6. **Переместить файл из одной директории в другую**
+
+ В папке `test` у меня лежит файл `test_file`. Я создал папку `test2` и перекину туда `test_file`
+
+ Для перемещения я использую команду `mv`, указываю путь до файла и через пробел куда я его перекидываю
+
+
+
+7. **Скопировать файл из одной директории в другую**
+
+ Скопирую файл `test_file` из папки `test2` в папку `test`.
+
+ Для копирования использую команду `cp`.
+
+
+
+8. **Переименовать файл**
+
+ Переименовать придется файл `nichego` и дать ему имя `pysto`. Для этого буду использовать команду `mv: mv старое_имя новое_имя`.
+
+
+
+9. **Сравнить содержимое файла**
+
+ Для сравнения содержимого файлов используется команда `diff`. Она показывает различия между файлами построчно. Сначала сравнение одинаковых файлов и результат пустой, значит файла идентичны. Затем сравнение различных файлов и результат: `2d1` - во втором файле удалена (delete) строка 2, `< line2` - эта строка есть в первом файле, но отсутствует во втором, `3a3` - в третьей строке добавлена (add) строка, `> line2` - эта строка добавлена во второй файл.
+
+
+
+ Ну и пользовался тут `echo`. Команда выводит текст в терминал или записывает его в файл.
+
+10. **Отсортировать содержимое файла по возрастанию и убыванию**
+
+ Команда `sort` без флага сортирует текст по возрастанию в алфавитном порядке, а с флагом `-r` по убыванию. Флаг `-n` сортирует файл как чила. Чтобы отсортировать как числа и по убыванию эти флаги сливаются и получается флаг -nr (этим и воспользуюсь).
+
+
+
+14. **Удалить все папки и файлы**
+
+ Чтобы удалить директорию со всем ее содержимым, есть команда `rm` с ключом `-r`. Ключ -r обеспечивает рекурсивное удаление - команда последовательно применяется ко всем файлам и подпапкам внутри указанной директории, а затем удаляет саму пустую директорию. Но я не хочу тыкать yes для подтверждения удаления каждого файла, поэтому `rm -rf имя_папки` мой выбор. Ключ -f (force) отключает запросы подтверждения и проверки прав
+
+
diff --git a/Homework_Prosvirnin_Denis/Work_with_files/task2.md b/Homework_Prosvirnin_Denis/Work_with_files/task2.md
new file mode 100644
index 0000000..8907c17
--- /dev/null
+++ b/Homework_Prosvirnin_Denis/Work_with_files/task2.md
@@ -0,0 +1,61 @@
+### Перенаправляем
+
+#### 1. Как работают команды >,>>?
+
+`>` (перезапись) - это оператор перенаправления вывода, который создаёт новый файл или полностью перезаписывает существующий. Если файл уже существует, его предыдущее содержимое безвозвратно удаляется и заменяется новым выводом команды.
+
+
+
+`>>` (добавление) - этот оператор также перенаправляет вывод, но не стирает существующее содержимое файла. Вместо этого он добавляет новый вывод в конец файла, сохраняя всё, что было записано ранее.
+
+
+
+#### 2. Что такое перенаправление ввода? stderr, stdout;
+Перенаправление ввода-вывода - это механизм, позволяющий изменять стандартные источники и приёмники данных для программ.
+
+`stdout` (стандартный вывод) - это "канал", через который программа выводит обычные результаты своей работы. По умолчанию эти данные выводятся на экран терминала.
+
+
+
+`stderr` (стандартный поток ошибок) - это отдельный "канал" для сообщений об ошибках и диагностической информации. Он нужен, чтобы разделить нормальные результаты работы программы и сообщения об ошибках.
+
+
+
+#### 3. Вывести содержание файла не используя текстовые редакторы.
+
+С помощью команды `cat`. Она позволяет просматривать содержимое одного или нескольких файлов, создавать новые файлы, записывая в них текст, и объединять несколько файлов в один.
+
+#### 4. Создать файл с содержимым не используя текстовые редактор.
+Команда `cat` (concatenate)
+
+Команда `cat` в Linux изначально предназначена для объединения (конкатенации) файлов и вывода их содержимого на экран. Однако её можно использовать и для создания новых файлов с содержимым, комбинируя с операторами перенаправления ввода.
+#### 5. Перенаправить stdout в stderr и обратно на примере команды kinit, ping, tracert
+Для демонстрации работы с сетевыми командами воспользуемся ping и traceroute. Команда ping будет проверять доступность разных хостов, а мы направим весь её вывод - и успешные результаты, и сообщения об ошибках - в один файл. Для автоматизации процесса применим цикл, который построчно прочитает файл с адресами и выполнит ping для каждого из них.
+
+Команда traceroute покажет путь к сетевому узлу, а мы разделим её вывод - успешные результаты запишем в один файл, а ошибки в другой. Это наглядно продемонстрирует работу с разными потоками вывода.
+
+В процессе используем специальные операторы перенаправления, которые позволяют объединять потоки или разделять их.
+
+
+
+1 - стандартный вывод (stdout)
+2 - стандартный вывод ошибок (stderr)
+&1, &2 - ссылки на соответствующие потоки
+
+#### 6. Чем отличаются stdout и stderr
+
+Оба потока предназначены для вывода текста: `stdout` - это стандартный поток вывода, а `stderr` - это стандартный поток вывода ошибок. В `stdout` данные могут накапливаться перед выводом, в `stderr` же сообщения выводятся немедленно. Также в `stderr` высокий приоритет для донесения информации до пользователя, даже если основной вывод перенаправлен.
+
+#### 7. Что такое stdin?
+
+`stdin` (standard input) — это поток данных, который используется программами для получения информации извне. По умолчанию в командной строке `stdin` ассоциируется с клавиатурой, но его можно перенаправить для чтения из файла или вывода другой программы.
+
+#### 8. Как отправить весь вывод команды в пустоту?
+
+Чтобы весь вывод отправить в пустоту, можно его перенаправить в `/dev/null`
+
+`команда > /dev/null`
+
+Команда > /dev/null перенаправляет весь стандартный вывод (stdout) в специальный файл /dev/null, который отбрасывает все данные, отправленные в него. Это означает, что вывод любой команды, которая обычно отображается на экране, будет игнорироваться и удаляться.
+
+