Analyser les commandes historiques

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce défi se concentre sur l'analyse de l'historique d'utilisation des commandes dans un système Linux tout en pratiquant la redirection des flux de données. En accomplissant cette tâche, vous améliorerez vos compétences en traitement de texte, vous familiariserez avec les commandes Linux courantes et comprendrez mieux la manipulation des entrées/sorties dans les environnements Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) 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"]) 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{{"Analyser les commandes historiques"}} linux/cat -.-> lab-17988{{"Analyser les commandes historiques"}} linux/awk -.-> lab-17988{{"Analyser les commandes historiques"}} linux/sort -.-> lab-17988{{"Analyser les commandes historiques"}} linux/uniq -.-> lab-17988{{"Analyser les commandes historiques"}} shell/adv_redirection -.-> lab-17988{{"Analyser les commandes historiques"}} linux/pipeline -.-> lab-17988{{"Analyser les commandes historiques"}} linux/redirect -.-> lab-17988{{"Analyser les commandes historiques"}} end

Analyser les commandes historiques à l'aide de la redirection de flux

Exigences

Votre tâche consiste à analyser un fichier contenant un enregistrement de l'utilisation des commandes. Vous devez identifier les trois commandes les plus fréquemment utilisées dans le fichier et enregistrer les résultats dans /home/labex/project/result. Cette tâche doit être accomplie en utilisant des techniques de redirection de flux.

Tâches

  1. Traitez le fichier data1 situé dans /home/labex/project/ en utilisant les commandes awk, sort, uniq et head en combinaison avec la redirection de flux.
  2. Redirigez les trois commandes les plus fréquemment utilisées vers /home/labex/project/result.
  3. Formatez les résultats pour inclure à la fois le nombre d'occurrences et la commande, sous la forme "nombre_de_fois commande" (par exemple, "100 ls").

Exemple

Contenu d'exemple du fichier data1 :

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

Format de sortie attendu dans /home/labex/project/result :

150 openstack
114 systemctl
105 ls

Seules les trois commandes les plus fréquemment utilisées doivent être incluses dans le fichier de résultat.

Indices

Vous devrez peut-être utiliser awk pour extraire la commande du contenu du fichier. Voici quelques exemples utiles d'utilisation d'awk :

  • awk '{print $2}' : Affiche le deuxième champ de chaque ligne.
  • awk '{print $1, $2}' : Affiche le premier et le deuxième champ de chaque ligne.
✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez pratiqué l'analyse de l'historique d'utilisation des commandes tout en appliquant les techniques de redirection de flux Linux. Cet exercice a amélioré vos capacités de traitement de texte, votre familiarité avec les commandes Linux courantes et votre compréhension de la manipulation des entrées/sorties. Ces compétences sont précieuses pour les administrateurs de systèmes et les utilisateurs avancés travaillant dans des environnements Linux.