Шаблон для выполнения работы
Для выполнения работы создайте новый файла в Obsidian, назовите его “Фамилия Имя Отчество Группа Лабораторная работа 1”, скопируйте и вставьте представленный ниже шаблон:
# Лабораторная работа №1
## **Задание 1: Знакомство с командной строкой операционной системы**
1. **Выполнение простых команд**:
Вставьте скриншот выполения этого пункта
2. **Перемещение по директориям**:
Вставьте скриншот выполения этого пункта
## **Задание 2: Работа с файловой системой**
1. **Создание и удаление файлов**:
Вставьте скриншот выполения этого пункта
2. **Создание и удаление каталогов**:
Вставьте скриншот выполения этого пункта
3. **Копирование и перемещение файлов**:
Вставьте скриншот выполения этого пункта
## **Задание 3: Работа с правами доступа**
1. **Просмотр прав доступа к файлам**:
Вставьте скриншот выполения этого пункта
2. **Изменение прав доступа с помощью `chmod`**:
Вставьте скриншот выполения этого пункта
3. **Изменение владельца и группы с помощью `chown`**:
Вставьте скриншот выполения этого пункта
## **Задание 4: Основы работы с процессами**
1. **Просмотр процессов**:
Вставьте скриншот выполения этого пункта
2. **Запуск процесса в фоновом режиме**:
Вставьте скриншот выполения этого пункта
3. **Завершение процесса**:
Вставьте скриншот выполения этого пункта
4. **Изменение приоритета процесса**:
Вставьте скриншот выполения этого пункта
## Самоконтроль
1. **Что такое командная строка, и чем она отличается от графического интерфейса пользователя (GUI)?**
Ваш ответ на вопрос, в свободной форме
2. **Какая команда используется для отображения текущего рабочего каталога?**
Ваш ответ на вопрос, в свободной форме
3. **Как изменить текущую директорию с помощью командной строки? Приведите пример.**
Ваш ответ на вопрос, в свободной форме
4. **Что означает вывод команды `ls -l` и как интерпретировать права доступа, указанные в выводе?**
Ваш ответ на вопрос, в свободной форме
5. **Какая команда используется для копирования файлов в командной строке? Каков её синтаксис?**
Ваш ответ на вопрос, в свободной форме
6. **Как переместить файл из одной директории в другую, используя команду `mv`?**
Ваш ответ на вопрос, в свободной форме
7. **Чем команда `rm` отличается от команды `rmdir`? В каких случаях какую команду следует использовать?**
Ваш ответ на вопрос, в свободной форме
8. **Как создать новый каталог в командной строке? Какая команда используется для этого?**
Ваш ответ на вопрос, в свободной форме
9. **Как проверить, был ли файл успешно удалён после выполнения команды `rm`?**
Ваш ответ на вопрос, в свободной форме
10. **Какие права доступа могут быть установлены на файл или каталог?**
Ваш ответ на вопрос, в свободной форме
11. **Какую команду следует использовать для изменения прав доступа к файлу? Приведите пример использования этой команды.**
Ваш ответ на вопрос, в свободной форме
12. **Что делает команда `chmod +x file.sh`?**
Ваш ответ на вопрос, в свободной форме
13. **Как изменяются права доступа для владельца, группы и других пользователей с помощью команды `chmod`?**
Ваш ответ на вопрос, в свободной форме
14. **Какая команда используется для изменения владельца и группы файла? Приведите пример.**
Ваш ответ на вопрос, в свободной форме
15. **Что такое процесс в операционной системе? Как можно посмотреть список запущенных процессов в системе?**
Ваш ответ на вопрос, в свободной форме
16. **Какова роль команды `ps` и что она выводит?**
Ваш ответ на вопрос, в свободной форме
17. **Что такое фоновый процесс? Как можно запустить процесс в фоновом режиме?**
Ваш ответ на вопрос, в свободной форме
18. **Какая команда используется для завершения процесса по его PID?**
Ваш ответ на вопрос, в свободной форме
20. **Что происходит, если при завершении процесса использовать команду `kill -9`? Как она отличается от обычной команды `kill`?**
Ваш ответ на вопрос, в свободной форме
21. **Что такое приоритет процесса? Как изменить приоритет запущенного процесса с помощью команды `renice`?**
Ваш ответ на вопрос, в свободной форме
22. **Как запустить процесс с изменённым приоритетом с помощью команды `nice`?**
Ваш ответ на вопрос, в свободной форме
23. **Как можно просматривать и анализировать вывод команды `ls -l`? Что означают символы в первой колонке (например, `-rwxr-xr--`)?**
Ваш ответ на вопрос, в свободной форме
24. **Какие основные отличия между командами `cp` и `mv`? Когда нужно использовать каждую из них?**
Ваш ответ на вопрос, в свободной форме
25. **Каковы различия между командами `rm` и `rmdir`?**
Ваш ответ на вопрос, в свободной форме
26. **Какая команда позволяет изменить каталог в файловой системе и перейти в другую директорию?**
Ваш ответ на вопрос, в свободной форме
27. **Как в операционной системе управляются права доступа к файлам и каталогам? Почему это важно для безопасности системы?**
Ваш ответ на вопрос, в свободной форме
Теоретическая часть
1. Знакомство с командной строкой операционной системы
Командная строка (или терминал) — это текстовый интерфейс для взаимодействия с операционной системой. В отличие от графического интерфейса, где действия выполняются с помощью мыши, в командной строке используется текстовый ввод команд. Это мощный инструмент, позволяющий выполнять операции с операционной системой и управлять программами, файлами и ресурсами.
Основные аспекты командной строки:
- В командной строке вводятся команды и их параметры (аргументы), которые операционная система интерпретирует и выполняет.
- Каждая команда выполняет определенную задачу, например, копирование файлов, просмотр содержимого директорий, управление процессами и т. д.
- Примеры команд командной строки:
ls,cd,cp,mv,rm,ps.
Структура команды в командной строке:
- Команда: Основной элемент (например,
ls). - Параметры (аргументы): Опции, которые модифицируют поведение команды (например,
-lдля командыls, чтобы вывести подробную информацию). - Путь: Указание местоположения файлов или директорий (например,
/home/user/docs).
2. Основные команды для работы с файловой системой
Файловая система — это структура, которая управляет сохранением и доступом к файлам на диске. Операционная система предоставляет команды для взаимодействия с файлами и каталогами.
Основные команды для работы с файлами и каталогами:
ls— список файлов и директорий в текущей директории:- Пример:
ls— выводит список файлов в текущей директории. - Пример с параметром:
ls -l— выводит подробный список файлов с правами доступа, владельцем и размером.
- Пример:
cd— смена текущей директории:- Пример:
cd /home/user/— переходит в директорию/home/user/. - Пример:
cd ..— переходит на уровень выше в иерархии директорий.
- Пример:
cp— копирование файлов и каталогов:- Пример:
cp file1.txt /home/user/docs/— копирует файлfile1.txtв указанную директорию. - Пример с каталогом:
cp -r dir1/ dir2/— копирует директориюdir1в директориюdir2.
- Пример:
mv— перемещение файлов или переименование:- Пример:
mv file1.txt file2.txt— переименовывает файлfile1.txtвfile2.txt. - Пример:
mv file.txt /home/user/docs/— перемещает файлfile.txtв директорию/home/user/docs/.
- Пример:
rm— удаление файлов и каталогов:- Пример:
rm file.txt— удаляет файлfile.txt. - Пример с каталогом:
rm -r dir/— удаляет директориюdirи все её содержимое.
- Пример:
Дополнительные команды для работы с файловой системой:
mkdir— создание новой директории.rmdir— удаление пустой директории.touch— создание пустого файла или изменение времени последнего доступа к файлу.find— поиск файлов в системе по заданным критериям.
3. Операции с правами доступа к файлам и каталогам
Операционные системы используют модель управления правами доступа для защиты данных и обеспечения безопасности. Основные элементы прав доступа:
- Чтение (r): возможность прочитать содержимое файла.
- Запись (w): возможность изменить содержимое файла.
- Исполнение (x): возможность выполнить файл как программу.
Каждый файл и каталог имеют три категории пользователей:
- Владелец (Owner): пользователь, который создал файл.
- Группа (Group): пользователи, принадлежащие к одной группе.
- Прочие (Others): все остальные пользователи.
Просмотр прав доступа:
ls -l— команда выводит подробный список файлов с правами доступа.- Пример вывода:
Это означает, что владелец файла имеет право читать, записывать и выполнять файл, группа — только читать и выполнять, а остальные пользователи — только читать.-rwxr-xr-- 1 user group 4096 Jan 1 12:34 file.txt
Изменение прав доступа:
chmod— изменение прав доступа к файлам и каталогам.- Пример:
chmod +x file.sh— добавляет право исполнения для всех пользователей. - Пример:
chmod 755 file.sh— устанавливает права: владелец — чтение, запись, исполнение; группа и прочие пользователи — только чтение и исполнение.
- Пример:
chown— изменение владельца и группы файла.- Пример:
chown user:group file.txt— изменяет владельца файла наuserи группу наgroup.
- Пример:
4. Основы работы с процессами: создание, завершение, приоритеты
Процесс — это выполняемая программа. Операционная система управляет процессами, выполняя их планирование, распределение времени процессора и ресурсы.
Основные операции с процессами:
Просмотр процессов:
ps— выводит список текущих процессов.- Пример:
ps aux— выводит подробный список всех процессов, запущенных на системе.
- Пример:
top— интерактивная утилита для мониторинга процессов в реальном времени.
Завершение процесса:
kill— отправляет сигнал процессу для его завершения.- Пример:
kill 1234— завершает процесс с ID 1234. - Пример:
kill -9 1234— принудительное завершение процесса.
- Пример:
Изменение приоритета процесса:
nice— устанавливает приоритет для запуска процесса (меньший приоритет означает более низкую нагрузку на систему).- Пример:
nice -n 10 command— запускает команду с приоритетом 10.
- Пример:
renice— изменяет приоритет уже запущенного процесса.- Пример:
renice -n 5 -p 1234— изменяет приоритет процесса с ID 1234 на 5.
- Пример:
Типы процессов:
- Фоновые процессы — процессы, которые работают в фоне, не требуя пользовательского ввода (например, службы и демоны).
- Интерактивные процессы — процессы, требующие взаимодействия с пользователем через терминал.
Практическое задание
Установка операционной системы
В качестве тестового стенда будем использовать систему debian. Подробная инструкция по установке
Задание 1: Знакомство с командной строкой операционной системы

Открытие терминала:
- Откройте терминал (на Linux: используйте комбинацию клавиш
Ctrl+Alt+Tили найдите терминал в меню).
- Откройте терминал (на Linux: используйте комбинацию клавиш
Выполнение простых команд:
- Введите команду
pwdи объясните, что она делает. - Введите команду
lsи посмотрите, какие файлы и каталоги есть в текущей директории. - Используйте команду
ls -l, чтобы увидеть подробную информацию о файлах (права доступа, размер, дата создания).
- Введите команду
Перемещение по директориям:
- Используйте команду
cdдля перемещения в другую директорию. Например, попробуйте перейти в каталог/home/(Linux). - Используйте команду
cd ..для перехода на уровень выше.
- Используйте команду
Задание 2: Работа с файловой системой

Создание и удаление файлов:
- Используя команду
touch, создайте новый пустой файлfile1.txt. - Проверьте, что файл был создан с помощью команды
ls. - Удалите файл с помощью команды
rm file1.txtи проверьте его удаление.
- Используя команду
Создание и удаление каталогов:
- Используя команду
mkdir, создайте новый каталог с именемtest_dir. - Войдите в этот каталог с помощью команды
cd test_dirи создайте внутри него файлfile2.txt. - Используя команду
rmdir, удалите каталогtest_dir(каталог должен быть пустым).
- Используя команду
Копирование и перемещение файлов:
- Используйте команду
cpдля копирования файлаfile3.txtв каталог/tmp/(или другой доступный каталог). - Используйте команду
mvдля перемещения файла в другой каталог (например, переместите файл из/tmp/обратно в вашу домашнюю директорию).
- Используйте команду
Задание 3: Работа с правами доступа

Просмотр прав доступа к файлам:
- Выполните команду
ls -lдля просмотра прав доступа к файлам в текущей директории. - Объясните вывод команды, в частности, что означают символы в начале строки (например,
-rwxr-xr--).
- Выполните команду
Изменение прав доступа с помощью
chmod:- Используя команду
chmod, добавьте право на выполнение файла для всех пользователей:- Пример:
chmod +x file4.txt.
- Пример:
- Проверьте результат с помощью
ls -l— убедитесь, что права изменены.
- Используя команду
Изменение владельца и группы с помощью
chown:- Используйте команду
chownдля изменения владельца файла:- Пример:
sudo chown root:root file4.txt.
- Пример:
- Проверьте результат с помощью команды
ls -l.
- Используйте команду
Задание 4: Основы работы с процессами

Просмотр процессов:
- Выполните команду
psдля вывода списка процессов. - Используйте команду
ps aux, чтобы увидеть все процессы, запущенные в системе.
- Выполните команду
Запуск процесса в фоновом режиме:
- Запустите простой процесс (например, команду
sleep 60) и отправьте его в фон с помощью символа&.- Пример:
sleep 60 &.
- Пример:
- Используйте команду
psилиtop, чтобы увидеть, что процесс работает в фоновом режиме.
- Запустите простой процесс (например, команду
Завершение процесса:
- Найдите ID процесса с помощью команды
psилиtop. - Завершите процесс с помощью команды
kill:- Пример:
kill <PID>(где<PID>— это идентификатор процесса, который вы нашли).
- Пример:
- Используйте команду
psдля подтверждения завершения процесса.
- Найдите ID процесса с помощью команды
Изменение приоритета процесса:
- Запустите команду
sleep 100 &и запомните её PID. - Используйте команду
reniceдля изменения приоритета процесса:- Пример:
renice -n 10 -p <PID>.
- Пример:
- Проверьте результат с помощью команды
ps.
- Запустите команду
Полезные ссылки
- https://github.com/jlevy/the-art-of-command-line
- https://en.wikipedia.org/wiki/List_of_GNU_Core_Utilities_commands
- https://www.gnu.org/software/coreutils/manual/coreutils.pdf
- https://github.com/coreutils/coreutils
- https://github.com/GoogleContainerTools/distroless/blob/main/experimental/busybox/commands.bzl