Анализ исторических команд

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом задании вы будете анализировать историю использования команд в системе Linux и практиковать перенаправление потоков данных. Выполняя это задание, вы улучшите свои навыки обработки текста, познакомитесь с общими командами Linux и лучше поймете, как управлять вводом и выводом в среде Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/AdvancedScriptingConceptsGroup(["Advanced Scripting Concepts"]) linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) shell(("Shell")) -.-> shell/BasicSyntaxandStructureGroup(["Basic Syntax and Structure"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) shell/BasicSyntaxandStructureGroup -.-> shell/quoting("Quoting Mechanisms") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/awk("Text Processing") linux/TextProcessingGroup -.-> linux/sort("Text Sorting") linux/TextProcessingGroup -.-> linux/uniq("Duplicate Filtering") shell/AdvancedScriptingConceptsGroup -.-> shell/adv_redirection("Advanced Redirection") linux/InputandOutputRedirectionGroup -.-> linux/pipeline("Data Piping") linux/InputandOutputRedirectionGroup -.-> linux/redirect("I/O Redirecting") subgraph Lab Skills shell/quoting -.-> lab-17988{{"Анализ исторических команд"}} linux/cat -.-> lab-17988{{"Анализ исторических команд"}} linux/awk -.-> lab-17988{{"Анализ исторических команд"}} linux/sort -.-> lab-17988{{"Анализ исторических команд"}} linux/uniq -.-> lab-17988{{"Анализ исторических команд"}} shell/adv_redirection -.-> lab-17988{{"Анализ исторических команд"}} linux/pipeline -.-> lab-17988{{"Анализ исторических команд"}} linux/redirect -.-> lab-17988{{"Анализ исторических команд"}} end

Анализ исторических команд с использованием перенаправления потоков

Требования

Ваша задача - проанализировать файл, содержащий запись о использовании команд. Вам нужно определить три наиболее часто используемые команды в файле и сохранить результаты в /home/labex/project/result. Это задание должно быть выполнено с использованием методов перенаправления потоков.

Задачи

  1. Обработайте файл data1, расположенный в /home/labex/project/, с использованием команд awk, sort, uniq и head в сочетании с перенаправлением потоков.
  2. Перенаправьте три наиболее часто используемые команды в /home/labex/project/result.
  3. Отформатируйте результаты так, чтобы они включали как количество вхождений, так и команду в формате "количество команда" (например, "100 ls").

Пример

Пример содержимого файла data1:

895  echo $?
896  openstack compute service list
897  cd /home/chy/openstack/
898 . admin-openrc

Ожидаемый формат вывода в /home/labex/project/result:

150 openstack
114 systemctl
105 ls

В результирующем файле должны быть только три наиболее часто используемые команды.

Подсказки

Вам может понадобиться использовать awk для извлечения команды из содержимого файла. Вот несколько полезных примеров awk:

  • awk '{print $2}': Выводит второе поле каждой строки.
  • awk '{print $1, $2}': Выводит первое и второе поля каждой строки.
✨ Проверить решение и практиковаться

Резюме

В этом задании вы практиковали анализ истории использования команд, применяя методы перенаправления потоков в Linux. Это упражнение улучшило ваши способности по обработке текста, знакомство с общими командами Linux и понимание управления вводом/выводом. Эти навыки ценны для системных администраторов и продвинутых пользователей, работающих в среде Linux.