Шаблон для выполнения работы

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

first

  1. Открытие терминала:

    • Откройте терминал (на Linux: используйте комбинацию клавиш Ctrl+Alt+T или найдите терминал в меню).
  2. Выполнение простых команд:

    • Введите команду pwd и объясните, что она делает.
    • Введите команду ls и посмотрите, какие файлы и каталоги есть в текущей директории.
    • Используйте команду ls -l, чтобы увидеть подробную информацию о файлах (права доступа, размер, дата создания).
  3. Перемещение по директориям:

    • Используйте команду cd для перемещения в другую директорию. Например, попробуйте перейти в каталог /home/ (Linux).
    • Используйте команду cd .. для перехода на уровень выше.

Задание 2: Работа с файловой системой

second

  1. Создание и удаление файлов:

    • Используя команду touch, создайте новый пустой файл file1.txt.
    • Проверьте, что файл был создан с помощью команды ls.
    • Удалите файл с помощью команды rm file1.txt и проверьте его удаление.
  2. Создание и удаление каталогов:

    • Используя команду mkdir, создайте новый каталог с именем test_dir.
    • Войдите в этот каталог с помощью команды cd test_dir и создайте внутри него файл file2.txt.
    • Используя команду rmdir, удалите каталог test_dir (каталог должен быть пустым).
  3. Копирование и перемещение файлов:

    • Используйте команду cp для копирования файла file3.txt в каталог /tmp/ (или другой доступный каталог).
    • Используйте команду mv для перемещения файла в другой каталог (например, переместите файл из /tmp/ обратно в вашу домашнюю директорию).

Задание 3: Работа с правами доступа

third

  1. Просмотр прав доступа к файлам:

    • Выполните команду ls -l для просмотра прав доступа к файлам в текущей директории.
    • Объясните вывод команды, в частности, что означают символы в начале строки (например, -rwxr-xr--).
  2. Изменение прав доступа с помощью chmod:

    • Используя команду chmod, добавьте право на выполнение файла для всех пользователей:
      • Пример: chmod +x file4.txt.
    • Проверьте результат с помощью ls -l — убедитесь, что права изменены.
  3. Изменение владельца и группы с помощью chown:

    • Используйте команду chown для изменения владельца файла:
      • Пример: sudo chown root:root file4.txt.
    • Проверьте результат с помощью команды ls -l.

Задание 4: Основы работы с процессами

fourth

  1. Просмотр процессов:

    • Выполните команду ps для вывода списка процессов.
    • Используйте команду ps aux, чтобы увидеть все процессы, запущенные в системе.
  2. Запуск процесса в фоновом режиме:

    • Запустите простой процесс (например, команду sleep 60) и отправьте его в фон с помощью символа &.
      • Пример: sleep 60 &.
    • Используйте команду ps или top, чтобы увидеть, что процесс работает в фоновом режиме.
  3. Завершение процесса:

    • Найдите ID процесса с помощью команды ps или top.
    • Завершите процесс с помощью команды kill:
      • Пример: kill <PID> (где <PID> — это идентификатор процесса, который вы нашли).
    • Используйте команду ps для подтверждения завершения процесса.
  4. Изменение приоритета процесса:

    • Запустите команду sleep 100 & и запомните её PID.
    • Используйте команду renice для изменения приоритета процесса:
      • Пример: renice -n 10 -p <PID>.
    • Проверьте результат с помощью команды ps.

Полезные ссылки

  1. https://github.com/jlevy/the-art-of-command-line
  2. https://en.wikipedia.org/wiki/List_of_GNU_Core_Utilities_commands
  3. https://www.gnu.org/software/coreutils/manual/coreutils.pdf
  4. https://github.com/coreutils/coreutils
  5. https://github.com/GoogleContainerTools/distroless/blob/main/experimental/busybox/commands.bzl