diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-1.png b/Dolgova_Veronika_task/2-User manage/task1/image-1.png new file mode 100644 index 0000000..88d08b0 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-1.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-2.png b/Dolgova_Veronika_task/2-User manage/task1/image-2.png new file mode 100644 index 0000000..acfd10a Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-2.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-3.png b/Dolgova_Veronika_task/2-User manage/task1/image-3.png new file mode 100644 index 0000000..02a6511 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-3.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-4.png b/Dolgova_Veronika_task/2-User manage/task1/image-4.png new file mode 100644 index 0000000..297abc4 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-4.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-5.png b/Dolgova_Veronika_task/2-User manage/task1/image-5.png new file mode 100644 index 0000000..c882cb5 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-5.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-6.png b/Dolgova_Veronika_task/2-User manage/task1/image-6.png new file mode 100644 index 0000000..d25d6c2 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-6.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-7.png b/Dolgova_Veronika_task/2-User manage/task1/image-7.png new file mode 100644 index 0000000..02c7ba3 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-7.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image-8.png b/Dolgova_Veronika_task/2-User manage/task1/image-8.png new file mode 100644 index 0000000..eaa6fb5 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image-8.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/image.png b/Dolgova_Veronika_task/2-User manage/task1/image.png new file mode 100644 index 0000000..69b258a Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task1/image.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task1/task1.md b/Dolgova_Veronika_task/2-User manage/task1/task1.md new file mode 100644 index 0000000..92fb3c0 --- /dev/null +++ b/Dolgova_Veronika_task/2-User manage/task1/task1.md @@ -0,0 +1,70 @@ +#### 1.Добавьте пользователей user1 и user2: +``` +1.1) user1 - оболочка bash +1.2) user2 - оболочка sh +1.3) установите им пароли +``` +Добавляю пользователя с оболочкой bash и устанавливаю пароль: + +![alt text](image.png) + +Добавляю пользователя с оболочкой sh и устанавливаю пароль: + +![alt text](image-1.png) + +#### 2.Назначьте пользователю 1 группу администраторов, польователя 2 добавте в группу пользователя 1 + +Назначаю user1 группу администраторов + +![alt text](image-2.png) + +Добавляю user2 в группу user1 + +![alt text](image-3.png) + +#### 3.Что такое права доступа? Выведите права доступа на файлы в директории пользователя + +Права доступа в Linux определяют, кто может читать, писать и выполнять файлы/директории для трех категорий: +``` +Владелец (user) +Группа (group) +Остальные (others) +``` +Вывела права доступа на файлы в директории пользователя + +![alt text](image-4.png) + +#### 4.Как изменить права на файлы? Создайте файл который будет на который у всез пользователей будут все возможные права +``` +Права на файл можно изменить с помощью команды chmod +``` +Я создала файл file.txt в домашней директории user1 и дала ему полные права доступа для всех пользователей системы. + +![alt text](image-5.png) + +#### 5.Как называется учётная запись встренного администратора в linux? + +Учётная запись встренного администратора в linux - root + +#### 6.Как выполнить команду от имени администратора? + +Переключиться в root (sudo su -) и выполнить конкретную команду или выполнить команду от имени администратора (sudo /команда/) + +#### 7.Есть ли ограничения у суперпользователя? + +Суперпользователь имеет почти абсолютную власть в системе, но некоторые ограничения существуют: не может изменять неизменяемые файлы и может добавляться только к файлам, доступным только для добавления. Не удаётся выполнить запись в режим монтирования только для чтения или выполнить что-либо при монтировании без выполнения. Не может повторно смонтировать файловую систему в режиме чтения-записи, если её блочное устройство доступно только для чтения.Невозможно нарушить настройки SELinux. + +#### 8.Удалите пользователя 2 с помощью пользователя 1. +Переключилась на user1 и удалила user2 + +![alt text](image-6.png) + +#### 9.Как можно изменить владельца папки? измените владельца папки из пункта 4 +``` +Изменить владельца папки можно с помощью команды chown +``` +Я изменила владельца папки file.txt на vero и проверила измения + +![alt text](image-7.png) + +![alt text](image-8.png) \ No newline at end of file diff --git a/Dolgova_Veronika_task/2-User manage/task2/image.png b/Dolgova_Veronika_task/2-User manage/task2/image.png new file mode 100644 index 0000000..e30e2e8 Binary files /dev/null and b/Dolgova_Veronika_task/2-User manage/task2/image.png differ diff --git a/Dolgova_Veronika_task/2-User manage/task2/task2.md b/Dolgova_Veronika_task/2-User manage/task2/task2.md new file mode 100644 index 0000000..44356d9 --- /dev/null +++ b/Dolgova_Veronika_task/2-User manage/task2/task2.md @@ -0,0 +1,15 @@ +#### 1.Запретите пользователю user1 из предыдщуего задания выполнять вход в систему + +![alt text](image.png) + +#### 2.Как вы это сделали? + +Я воспользовалась командой sudo usermod -L user1 , которая блокирует учетную запись пользователя user1. Она добавляет восклицательный знак ! перед хэшем пароля в файле /etc/shadow, что делает пароль недействительным. После этого пользователь не может войти в систему ни по паролю, ни через SSH, ни переключиться на свою учетную запись. При попытке входа система будет выдавать ошибку аутентификации. + +#### 3.Какие ещё способы это сделать вы знаете? + +Можно изменить оболочку пользователя на /usr/sbin/nologin через usermod -s, установить прошедшую дату истечения аккаунта usermod -e, или заблокировать пароль командой passwd -l. Также можно вручную отредактировать файлы /etc/passwd или /etc/shadow, добавив специальные флаги блокировки. + +#### 4.Можно ли создать пользователей с одинаковыми username? + +Нельзя создать пользователей с одинаковыми username, потому что каждый пользователь должен иметь уникальный идентификатор, а также username является ключом в файле паролей \ No newline at end of file diff --git a/Dolgova_Veronika_task/3-File systems/task1/image-1.png b/Dolgova_Veronika_task/3-File systems/task1/image-1.png new file mode 100644 index 0000000..a05b1af Binary files /dev/null and b/Dolgova_Veronika_task/3-File systems/task1/image-1.png differ diff --git a/Dolgova_Veronika_task/3-File systems/task1/image-2.png b/Dolgova_Veronika_task/3-File systems/task1/image-2.png new file mode 100644 index 0000000..ba2733d Binary files /dev/null and b/Dolgova_Veronika_task/3-File systems/task1/image-2.png differ diff --git a/Dolgova_Veronika_task/3-File systems/task1/image-3.png b/Dolgova_Veronika_task/3-File systems/task1/image-3.png new file mode 100644 index 0000000..779949b Binary files /dev/null and b/Dolgova_Veronika_task/3-File systems/task1/image-3.png differ diff --git a/Dolgova_Veronika_task/3-File systems/task1/image-4.png b/Dolgova_Veronika_task/3-File systems/task1/image-4.png new file mode 100644 index 0000000..62bfb66 Binary files /dev/null and b/Dolgova_Veronika_task/3-File systems/task1/image-4.png differ diff --git a/Dolgova_Veronika_task/3-File systems/task1/image.png b/Dolgova_Veronika_task/3-File systems/task1/image.png new file mode 100644 index 0000000..a108447 Binary files /dev/null and b/Dolgova_Veronika_task/3-File systems/task1/image.png differ diff --git a/Dolgova_Veronika_task/3-File systems/task1/task1.md b/Dolgova_Veronika_task/3-File systems/task1/task1.md new file mode 100644 index 0000000..2b9b6d6 --- /dev/null +++ b/Dolgova_Veronika_task/3-File systems/task1/task1.md @@ -0,0 +1,81 @@ +### ФС +#### 1.Какие файловые системы вы знаете? + +Windows (NTFS, exFAT), Linux (ext4), macOS (APFS) + +#### 2.Как можно классифиировать файловые системы? в чём отличия?? + +**По назначению:** +- Дисковые (ext4, NTFS) - для постоянного хранения данных на физических носителях +- Сетевые (NFS, CIFS) - для доступа к файлам через сеть между компьютерами +- Виртуальные (procfs, sysfs) - предоставляют доступ к информации о системе и процессах в реальном времени + +**По структуре:** +- Журналируемые (ext4, NTFS) - ведут журнал операций для повышения надежности при сбоях +- Нежурналируемые (FAT32) - не имеют журнала, что ускоряет работу но снижает отказоустойчивость + +**По операционным системам:** +- Windows (NTFS) +- Linux (ext4) +- macOS (APFS) + +Отличия проявляются в надежности восстановления данных, скорости работы с разными типами файлов и поддерживаемом функционале. + +#### 3.Какие файловые системы используются в linux? + +**Ext4** — основная журналируемая ФС Linux с поддержкой томов до 1 эксабайта и отложенным выделением места. +**XFS** — высокопроизводительная ФС для работы с большими файлами и интенсивных нагрузок с онлайн-дефрагментацией. +**Btrfs** — современная ФС со встроенным RAID, снапшотами и контролем целостности данных через контрольные суммы. +**ZFS** — продвинутая ФС с пулами хранения, самовосстановлением и мощной системой дедупликации данных. +**FAT32** — универсальная ФС для совместимости между ОС с ограничением размера файла 4 ГБ без поддержки прав доступа. +**exFAT** — оптимизированная ФС для флеш-накопителей без ограничений FAT32 с поддержкой больших файлов и разделов. +**NTFS** — ФС Windows с полной поддержкой в Linux через NTFS-3g с журналированием и разграничением прав доступа. +**F2FS** — ФС от Samsung для SSD-дисков с уменьшением износа ячеек через алгоритмы оптимизации записи. +**JFS** — легковесная журналируемая ФС от IBM с низким потреблением ресурсов и высокой скоростью восстановления. +**ReiserFS** — эффективная ФС для работы с тысячами мелких файлов с динамической индексацией и быстрым поиском. +**procfs** — виртуальная ФС в /proc предоставляющая доступ к информации о процессах и параметрах ядра в реальном времени. +**sysfs** — виртуальная ФС в /sys отображающая иерархию устройств и драйверов для взаимодействия с пространством ядра. +**tmpfs** — ФС в оперативной памяти для временных файлов с автоматическим очищением при перезагрузке системы. +**devtmpfs** — виртуальная ФС в /dev динамически создающая файлы устройств для подключенного оборудования. +**cgroupfs** — виртуальная ФС в /sys/fs/cgroup предоставляющая интерфейс для управления ресурсами через контрольные группы. +**debugfs** — отладочная ФС для разработчиков ядра позволяющая просматривать и изменять внутренние структуры данных. + +#### 4.Как можно создать файловую систему на диске? + +Для того чтобы создать файловую систему на диск нужно использовать команду mkfs (-t ext4 — тип файловой системы, ~/test_disk.img — диск, на котором создается файловая система) + +![alt text](image.png) + +#### 5.Как можно подключить диск в систему, что такое монтирование? +``` +Монтирование — это подключение файловой системы к дереву каталогов. +``` +Я создала точку монтирования (mkdir /mnt/mydrive), смонтировали файловую систему, т.е. подключила файловую систему (test_disk.img) к папке (/mnt/mydrive) и проверила результат + +![alt text](image-1.png) + +#### 6.файловая система procfs, cifs, tpmfs,sysfs. В чём особенности каждой из них? Вывести каталоги к которым примонтированы эти файловые системыю + +- procfs : виртуальная ФС для процессов и системной информации. +- cifs: для доступа к сетевым ресурсам Windows. +- tmpfs: хранится в ОЗУ, данные теряются после перезагрузки. +- sysfs: информация об устройствах и ядре. + +![alt text](image-2.png) + +#### 7.Как можно получить информацию о системе используя лишь команду cat? вывести ифонмацию о процессоре и состоянии памяти системы + +Команда cat позволяет просматривать содержимое виртуальных файлов в директориях /proc и /sys, которые содержат подробную информацию о системе в реальном времени. +- `cat /proc/cpuinfo` - информация о процессоре(Показывает количество ядер, модель процессора, частоту, кэш и поддерживаемые инструкции.) +- `cat /proc/meminfo` - информация о памяти(Отображает общий объем ОЗУ, свободную память, кэш, буферы и своп.) +- `cat /proc/version` - информация о системе(Показывает версию ядра, компилятора и дату сборки.) +- `cat /proc/loadavg` - информация о нагрузке(Выводит среднюю нагрузку за 1, 5 и 15 минут.) +- `cat /proc/partitions` - информация о устройствах(Список всех разделов дисков с размерами.) + +Процессор: + +![alt text](image-3.png) + +Память: + +![alt text](image-4.png) \ No newline at end of file diff --git a/Dolgova_Veronika_task/Work with files/task1/image-1.png b/Dolgova_Veronika_task/Work with files/task1/image-1.png new file mode 100644 index 0000000..bc09d4a Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-1.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-10.png b/Dolgova_Veronika_task/Work with files/task1/image-10.png new file mode 100644 index 0000000..78c02fa Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-10.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-11.png b/Dolgova_Veronika_task/Work with files/task1/image-11.png new file mode 100644 index 0000000..8e2b1cd Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-11.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-12.png b/Dolgova_Veronika_task/Work with files/task1/image-12.png new file mode 100644 index 0000000..b020bf0 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-12.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-13.png b/Dolgova_Veronika_task/Work with files/task1/image-13.png new file mode 100644 index 0000000..1fb489e Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-13.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-14.png b/Dolgova_Veronika_task/Work with files/task1/image-14.png new file mode 100644 index 0000000..10d9bbf Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-14.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-15.png b/Dolgova_Veronika_task/Work with files/task1/image-15.png new file mode 100644 index 0000000..eb000b4 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-15.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-2.png b/Dolgova_Veronika_task/Work with files/task1/image-2.png new file mode 100644 index 0000000..2f5761c Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-2.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-3.png b/Dolgova_Veronika_task/Work with files/task1/image-3.png new file mode 100644 index 0000000..8dab362 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-3.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-4.png b/Dolgova_Veronika_task/Work with files/task1/image-4.png new file mode 100644 index 0000000..c5166ef Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-4.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-5.png b/Dolgova_Veronika_task/Work with files/task1/image-5.png new file mode 100644 index 0000000..99e00ff Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-5.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-6.png b/Dolgova_Veronika_task/Work with files/task1/image-6.png new file mode 100644 index 0000000..fe9e6dd Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-6.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-7.png b/Dolgova_Veronika_task/Work with files/task1/image-7.png new file mode 100644 index 0000000..37e995a Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-7.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-8.png b/Dolgova_Veronika_task/Work with files/task1/image-8.png new file mode 100644 index 0000000..b094e57 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-8.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image-9.png b/Dolgova_Veronika_task/Work with files/task1/image-9.png new file mode 100644 index 0000000..38bdfe9 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image-9.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/image.png b/Dolgova_Veronika_task/Work with files/task1/image.png new file mode 100644 index 0000000..c86307d Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task1/image.png differ diff --git a/Dolgova_Veronika_task/Work with files/task1/task1.md b/Dolgova_Veronika_task/Work with files/task1/task1.md new file mode 100644 index 0000000..1acc405 --- /dev/null +++ b/Dolgova_Veronika_task/Work with files/task1/task1.md @@ -0,0 +1,92 @@ +# Работа в консольке +Work whith files +1) Переместиться между директориями\n\ +команда cd + +![alt text](image.png) + +cd – (Перейти в предыдущую директорию) + +![alt text](image-1.png) + +2) Вывести список файлов в директории\n\ +ls + +![alt text](image-2.png) + +3) Вывести список Всех файлов в директории\n\ +ls -l #Детальная информация + +![alt text](image-3.png) + +ls -a #Показ скрытых файлов + +![alt text](image-4.png) + +4) Создать папку с подпапками\n\ +mkdir -p parent/child + +![alt text](image-5.png) + +5) Внутри папки создать файлик и записать в него что-нибудь\n\ +#перейти в папку\n\ +echo "Привет, мир!" > hello.txt # создать файл и записать в него текст + +![alt text](image-6.png) + +![alt text](image-7.png) + +6) Переместить файл из одно директории в другую\n\ +mv file1.txt folder2 + +![alt text](image-8.png) + +7) скопировать файл из одной директории в другую\n\ +cp file1.txt folder2 + +![alt text](image-9.png) + +8) переименовать файл\n\ +mv file1.txt new_name.txt + +![alt text](image-10.png) + +9) сравнить содержимое файла\n\ +#Создадим два файла для сравнения\n\ +echo "текст 1" > file1.txt\n\ +echo "текст 2" > file2.txt\n\ +#Простое сравнение\n\ +diff file1.txt file2.txt\n\ +#Сравнение с контекстом\n\ +diff -u file1.txt file2.txt + +![alt text](image-11.png) + +10) отсортировать содержимоей файла по возрастанию и убыванию\n\ +#Создадим файл с неотсортированными данными\n\ +cat > unsorted.txt << rrr\n\ +lemon\n\ +apple\n\ +dog\n\ +banana\n\ +rrr\n\ +#Сортировка по возрастанию (алфавиту)\n\ +sort unsorted.txt\n\ +#Сортировка по убыванию\n\ +sort -r unsorted.txt\n\ +#Сохранить отсортированный результат в файл\n\ +sort unsorted.txt > sorted.txt + +![alt text](image-12.png) + +![alt text](image-13.png) + +11) удалить все папки и файлы\n\ +#Удалить папку с содержимым(безопасно)\n\ +rm -r folder_with_files\n\ +#Удалить все файлы в текущей директории (небезопасно)\n\ +rm -rf * + +![alt text](image-14.png) + +![alt text](image-15.png) diff --git a/Dolgova_Veronika_task/Work with files/task2/image-1.png b/Dolgova_Veronika_task/Work with files/task2/image-1.png new file mode 100644 index 0000000..41af8ca Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-1.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-10.png b/Dolgova_Veronika_task/Work with files/task2/image-10.png new file mode 100644 index 0000000..5c6b072 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-10.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-2.png b/Dolgova_Veronika_task/Work with files/task2/image-2.png new file mode 100644 index 0000000..b8d13a7 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-2.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-3.png b/Dolgova_Veronika_task/Work with files/task2/image-3.png new file mode 100644 index 0000000..f27435d Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-3.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-4.png b/Dolgova_Veronika_task/Work with files/task2/image-4.png new file mode 100644 index 0000000..2b181d8 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-4.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-5.png b/Dolgova_Veronika_task/Work with files/task2/image-5.png new file mode 100644 index 0000000..3b948a5 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-5.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-6.png b/Dolgova_Veronika_task/Work with files/task2/image-6.png new file mode 100644 index 0000000..6c5fdc7 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-6.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-7.png b/Dolgova_Veronika_task/Work with files/task2/image-7.png new file mode 100644 index 0000000..0a078f5 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-7.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-8.png b/Dolgova_Veronika_task/Work with files/task2/image-8.png new file mode 100644 index 0000000..154e0b6 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-8.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image-9.png b/Dolgova_Veronika_task/Work with files/task2/image-9.png new file mode 100644 index 0000000..e40b16e Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image-9.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/image.png b/Dolgova_Veronika_task/Work with files/task2/image.png new file mode 100644 index 0000000..62bd022 Binary files /dev/null and b/Dolgova_Veronika_task/Work with files/task2/image.png differ diff --git a/Dolgova_Veronika_task/Work with files/task2/task2.md b/Dolgova_Veronika_task/Work with files/task2/task2.md new file mode 100644 index 0000000..80e2ddf --- /dev/null +++ b/Dolgova_Veronika_task/Work with files/task2/task2.md @@ -0,0 +1,100 @@ +#### 1.Как работают команды >,>>? +``` +Операторы перенаправления вывода в командной строке: +**>** Перезаписывает файл полностью новым содержимым +``` + +![alt text](image.png) + +**>>** Добавляет текст в конец файла (не удаляет старое содержимое) + +![alt text](image-1.png) + +#### 2.Что такое перенаправление ввода? stderr,stdout; +``` +Перенаправление ввода - это функциональность командной оболочки, с помощью которой можно изменить стандартные источники и приёмники данных для программ. Обычно программа принимает ввод с клавиатуры и отправляет результаты или ошибки на экран, но с помощью перенаправления эти потоки можно перенаправить, например, в файлы или в другие программы. +STDOUT (стандартный вывод) — это канал, через который программа передаёт основные результаты работы. По умолчанию эти данные выводятся на экран терминала. Например, список файлов, полученный командой ls, отправляется в stdout. +STDERR (стандартный поток ошибок) — это отдельный канал, предназначенный для вывода диагностических сообщений, предупреждений и ошибок. Даже если вывод программы перенаправлен в файл, сообщения об ошибках по умолчанию всё равно появляются на экране, если специально не перенаправить. +``` +#### 3.Вывести содержание файла не используя текстовые редакторы; +``` +команда cat +``` + +![alt text](image-2.png) + + +#### 4.Создать файл с содержимым не используя текстовые редактор; +``` +echo "Привет" > file.txt +или +cat > file.txt << rrr +Первая строка +Вторая строка +Третья строка +rrr +``` + +![alt text](image-3.png) + +#### 5.пернеаправить stdout в stderr и обратно на примере команды kinit, ping, tracert +``` +Перенаправление stdout → stderr: +1.Для команды kinit (Перенаправляю вывод kinit в stderr (ошибки останутся в stderr)) +kinit vero@EXAMPLE.COM 1>&2 +``` + +![alt text](image-9.png) + +``` +2.Для команды ping +ping 2 8.8.8.8 1>&2 +``` + +![alt text](image-4.png) + +``` +3.Для команды tracert (Использую альтернативную команду tracepath, которая уже установлена по умолчанию) +traceroute 8.8.8.8 1>&2 +``` + +![alt text](image-7.png) + +``` +Перенаправление stderr → stdout +1.Для команды kinit (Неверные учетные данные) +kinit user@DOMAIN.LOCAL 2>&1 +``` + +![alt text](image-8.png) + +``` +2.Для команды ping (Несуществующий хост) +ping ne-sush-fjenm-fkein-4756.net 2>&1 +``` + +![alt text](image-5.png) + +``` +3.Для команды traceroute (Несуществующий хост) +traceroute ne-sush-fjenm-fkein-4756.net 2>&1 +``` + +![alt text](image-6.png) + + +#### 6.чем отличаются stdout и stderr +``` +STDOUT предназначен для вывода штатных результатов работы программы, в то время как STDERR используется для диагностических сообщений и ошибок. Эти потоки независимы друг от друга, что позволяет разделять нормальный вывод и сообщения об ошибках. При перенаправлении вывода в файл STDERR по умолчанию продолжает отображаться в терминале, если не указано иное.Нумерация потоков отличается: STDOUT имеет дескриптор 1, а STDERR - дескриптор 2. В скриптах часто используют разделение потоков для логирования - успешные операции пишут в один файл, ошибки в другой. STDERR обычно буферизуется построчно, что обеспечивает немедленный вывод сообщений об ошибках.В конвейерах STDERR по умолчанию не передается следующей команде, в отличие от STDOUT. +``` +#### 7.что такое stdin? +``` +STDIN (стандартный ввод) — это поток данных, который программа использует для получения входной информации. По умолчанию stdin связан с клавиатурой, то есть пользователь может вводить данные непосредственно в работающую программу. +``` +#### 8.как отправить весь вывод команды в пустоту? +``` +Чтобы отправить весь вывод команды в пустоту (полностью игнорировать и stdout, и stderr), буду использовать команду: +command > /dev/null 2>&1 +``` + +![alt text](image-10.png) \ No newline at end of file