Шаблон для выполнения работы
Для выполнения работы создайте новый файла в 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