Перейти к содержимому

Практика 4. Операционные системы

L4: Работа с файлами, текстом, поиском и архивами в Linux

Цель задания

Научиться работать с файлами, каталогами, текстовыми данными и архивами, а также освоить поиск и фильтрацию информации с использованием команд Linux.


Исходные данные:

  • Сервер: 62.113.44.178
  • Имя пользователя: user_name
  • Пароль: 87743321

Часть 1: Изучение команд

Шаг 1: Изучите следующие команды

Используйте команду --help, чтобы узнать, как работает каждая команда и какие у нее есть параметры. Приведены примеры строк, которые помогут вам понять назначение этих команд:

  1. pwd — выводит текущий рабочий каталог.

    • Пример: показать полный путь к текущему каталогу.
      Окно терминала
      pwd
  2. ls — отображает список файлов и каталогов.

    • Пример: вывести список файлов и каталогов с подробной информацией.
      Окно терминала
      ls -la
  3. mkdir — создает новый каталог.

    • Пример: создать каталог project_folder.
      Окно терминала
      mkdir project_folder
  4. cd — перемещается в указанный каталог.

    • Пример: перейти в каталог project_folder.
      Окно терминала
      cd project_folder
  5. echo — выводит текст или записывает его в файл.

    • Пример: записать текст в файл.
      Окно терминала
      echo "Hello, world!" > file.txt
  6. cat — выводит содержимое файла на экран.

    • Пример: вывести содержимое файла file.txt.
      Окно терминала
      cat file.txt
  7. mv — перемещает или переименовывает файлы и каталоги.

    • Пример: переименовать файл old_name.txt в new_name.txt.
      Окно терминала
      mv old_name.txt new_name.txt
  8. cp — копирует файлы и каталоги.

    • Пример: скопировать файл file.txt в новый файл file_copy.txt.
      Окно терминала
      cp file.txt file_copy.txt
  9. rm — удаляет файлы или каталоги.

    • Пример: удалить файл file.txt.
      Окно терминала
      rm file.txt
  10. grep — поиск текста в файлах.

    • Пример: найти все строки, содержащие слово “ERROR” в файле log.txt.
      Окно терминала
      grep "ERROR" log.txt
  11. find — поиск файлов и каталогов по критериям.

    • Пример: найти все файлы с расширением .txt в текущем каталоге.
      Окно терминала
      find . -name "*.txt"
  12. sort — сортировка строк в файлах.

    • Пример: отсортировать строки в файле data.txt и вывести результат.
      Окно терминала
      sort data.txt
  13. uniq — удаление повторяющихся строк.

    • Пример: удалить дубликаты строк из файла sorted_data.txt.
      Окно терминала
      uniq sorted_data.txt
  14. tar — создание и извлечение архивов.

    • Пример: создать архив всех файлов из каталога src и сохранить его в файл archive.tar.gz.
      Окно терминала
      tar -czvf archive.tar.gz src/
  15. wc — подсчет строк, слов и символов в файлах.

    • Пример: подсчитать количество строк, слов и символов в файле data.txt.
      Окно терминала
      wc data.txt
  16. diff — сравнение двух файлов и вывод различий.

    • Пример: сравнить два файла file1.txt и file2.txt и вывести различия.
      Окно терминала
      diff file1.txt file2.txt
  17. awk — обработка текстовых данных и выполнение операций над ними.

    • Пример: суммировать все числа в первом столбце файла data.txt и выводит результат
      Окно терминала
      awk '{sum += $1} END {print sum}' data.txt

Часть 2: Выполнение задач с файлами и текстом

Шаг 1: Работа с каталогами и файлами

  1. Создайте структуру каталогов:

    • Создайте каталог project_folder с подкаталогами src, logs, data, и archive.
  2. Создайте несколько файлов в каталоге src:

    • В каталоге src создайте три файла: data1.txt, data2.txt, и data3.txt.
    • Заполните каждый файл случайными числами и буквами в несколько строк.
  3. Создайте файл журнала:

    • В каталоге logs создайте файл events.log, в котором запишите 10 различных сообщений (информационные, предупреждения и ошибки).
  4. Поиск сообщений в файле журнала:

    • Найдите все строки с сообщениями об ошибках в файле events.log и сохраните их в отдельный файл error.log.

Шаг 2: Работа с текстом и данными

  1. Объединение файлов данных:

    • Объедините содержимое файлов data1.txt, data2.txt и data3.txt в один файл combined_data.txt в каталоге data.
  2. Сортировка данных:

    • Отсортируйте строки в файле combined_data.txt и сохраните результат в отдельный файл.
  3. Удаление дубликатов:

    • Удалите повторяющиеся строки в отсортированном файле и сохраните результат в новый файл.
  4. Подсчет строк в файле:

    • Подсчитайте количество строк в файле с уникальными данными и сохраните результат в файл отчета.
  5. Поиск числа “50” в объединённом файле:

    • Найдите все строки в combined_data.txt, содержащие число “50”, и сохраните результат в файл.
  6. Создание нового файла с умноженными значениями:

    • Создайте новый файл, где числа из combined_data.txt умножены на 2.
  7. Создание файла с уникальными буквами:

    • Извлеките все буквы из файла combined_data.txt, удалите дубликаты и сохраните их.
  8. Подсчет количества уникальных букв:

    • Подсчитайте количество уникальных букв и сохраните результат.
  9. Создание файла с данными пользователей:

    • Создайте файл с данными нескольких пользователей (имя, возраст, город).
  10. Фильтрация пользователей по возрасту:

    • Фильтруйте пользователей по возрасту (больше 30 лет) и сохраните результат.

Часть 3: Поиск и фильтрация

  1. Найдите все строки с буквой “A”:

    • Найдите все строки, содержащие букву “A” в файле с уникальными данными.
  2. Поиск файлов по размеру:

    • Найдите все файлы в каталоге, которые имеют размер более 0 байт.
  3. Поиск всех файлов старше 7 дней:

    • Найдите все файлы, которые были изменены более 7 дней назад.
  4. Поиск файлов с расширением .log:

    • Найдите все файлы с расширением .log.
  5. Поиск строк с определённым числом в логе:

    • Найдите строки, содержащие число “404”, в файлах журнала.

Часть 4: Архивирование данных

  1. Создание архива проекта:

    • Создайте архив всех файлов из каталога data и сохраните его в каталоге archive.
  2. Извлечение архива:

    • Извлеките архив в новый каталог.
  3. Создание архива с журналами:

    • Создайте архив всех файлов журнала и сохраните его.
  4. Извлечение архивированных журналов:

    • Извлеките архив с журналами в новый каталог.
  5. Просмотр содержимого архива без извлечения:

    • Проверьте содержимое архива без его извлечения.

Часть 5: Сравнение и анализ

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

    • Сравните файлы data1.txt и data2.txt и сохраните различия в файл.
  2. Подсчет различий:

    • Подсчитайте количество различий между файлами.
  3. Сравнение двух файлов журнала:

    • Сравните два файла журнала и сохраните отличия.
  4. Анализ различий в журналах:

    • Проведите анализ найденных различий.
  5. Подсчет количества ошибок и предупреждений:

    • Подсчитайте количество ошибок и предупреждений в файлах журнала.

Что нужно отправить:

По завершению задания сделайте скриншоты выполнения каждой команды и отправьте их на проверку.