Analizar comandos históricos

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este reto se centra en analizar el historial de uso de comandos en un sistema Linux mientras se practica la redirección de flujos de datos. Al completar esta tarea, mejorarás tus habilidades de procesamiento de texto, te familiarizarás con los comandos comunes de Linux y entenderás mejor la manipulación de entrada/salida en entornos Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/BasicSyntaxandStructureGroup(["Basic Syntax and Structure"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) shell(("Shell")) -.-> shell/AdvancedScriptingConceptsGroup(["Advanced Scripting Concepts"]) linux(("Linux")) -.-> linux/InputandOutputRedirectionGroup(["Input and Output Redirection"]) 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{{"Analizar comandos históricos"}} linux/cat -.-> lab-17988{{"Analizar comandos históricos"}} linux/awk -.-> lab-17988{{"Analizar comandos históricos"}} linux/sort -.-> lab-17988{{"Analizar comandos históricos"}} linux/uniq -.-> lab-17988{{"Analizar comandos históricos"}} shell/adv_redirection -.-> lab-17988{{"Analizar comandos históricos"}} linux/pipeline -.-> lab-17988{{"Analizar comandos históricos"}} linux/redirect -.-> lab-17988{{"Analizar comandos históricos"}} end

Analizar comandos históricos utilizando redirección de flujos

Requisitos

Tu tarea es analizar un archivo que contiene un registro del uso de comandos. Debes identificar los tres comandos más utilizados en el archivo y guardar los resultados en /home/labex/project/result. Esta tarea debe realizarse utilizando técnicas de redirección de flujos.

Tareas

  1. Procesa el archivo data1 ubicado en /home/labex/project/ utilizando los comandos awk, sort, uniq y head en combinación con la redirección de flujos.
  2. Redirige los tres comandos más utilizados a /home/labex/project/result.
  3. Formatea los resultados para incluir tanto el número de ocurrencias como el comando, en el formato "cantidad comando" (por ejemplo, "100 ls").

Ejemplo

Contenido de muestra del archivo data1:

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

Formato de salida esperado en /home/labex/project/result:

150 openstack
114 systemctl
105 ls

Solo los tres comandos más utilizados deben incluirse en el archivo de resultados.

Pistas

Puedes necesitar utilizar awk para extraer el comando del contenido del archivo. Aquí hay algunos ejemplos útiles de awk:

  • awk '{print $2}': Imprime el segundo campo de cada línea.
  • awk '{print $1, $2}': Imprime el primer y segundo campo de cada línea.
✨ Revisar Solución y Practicar

Resumen

En este reto, has practicado el análisis del historial de uso de comandos mientras aplicabas técnicas de redirección de flujos de Linux. Este ejercicio ha mejorado tus habilidades de procesamiento de texto, tu familiaridad con los comandos comunes de Linux y tu comprensión de la manipulación de entrada/salida. Estas habilidades son valiosas para los administradores de sistemas y usuarios avanzados que trabajan en entornos Linux.