6 votes

Comment puis-je enregistrer de manière unique chaque nouvelle commande que j'utilise, et éventuellement l'horodater ?

Je suis sous Linux depuis plus de 6 mois maintenant mais je ne me suis jamais trop penché sur le CLI (command-line interface ou terminal ou Shell).

Maintenant, lorsque je pose des questions ici, que j'obtiens des réponses ou de l'aide sur d'autres sites, j'apprends de nouvelles commandes...

Comment puis-je enregistrer chaque nouvelle commande dans un fichier texte ? Seulement nouveau / unique les commandes, et non les répétitions de la même commande.

Voici un exemple :

  1. Dans le terminal, j'entre les commandes comme suit

    $ command1 $ command2 $ command3 $ command4 $ command1

  2. Ces commandes doivent être sauvegardées dans un fichier texte intitulé commandrec comme ceci

    command1 command2 command3 command4

NOTE : La dernière commande dans le terminal qui était à nouveau command1 n'est pas réenregistrée dans le fichier texte.

La fois suivante, j'ouvre le terminal et j'entre une nouvelle commande command 5 il devrait être ajouté à la liste de la rubrique commandrec

(mais si la commande a été utilisée plus tôt à une autre date, elle doit être ignorée. Par exemple, command 1 a de nouveau été inscrite, de même que command 5 à un nouveau jour/heure mais command1 non enregistré car déjà utilisé)

  1. のことです。 commandrec ressemblera à quelque chose comme ceci

    31/05/12 12:00:00 command1 command2 command3 command4 01/06/12 13:00:00 command 5

(l'heure et la date seraient super si c'était possible, mais ça va même si ce n'est pas le cas)

De cette façon, je peux avoir un enregistrement de toutes les commandes que j'ai utilisées jusqu'à présent.

Comment procéder ?

0voto

Bob Points 940

Que diriez-vous d'un simple :

  1. Récupérer les informations de .bash_history (Toutes les commandes utilisées dans le terminal)
  2. Les classer par ordre alphabétique
  3. Afficher uniquement les Uniques
  4. Les envoyer dans un fichier

cat .bash_history|sort|uniq > commands.txt

Si vous ne voulez que la commande (sans tenir compte des paramètres), une simple coupe suffit :

cat .bash_history|cut -d ' ' -f1|sort|uniq > commands.txt

Si vous voulez savoir combien de fois une commande a été exécutée, vous pouvez le faire :

cat .bash_history|cut -d ' ' -f1|sort|uniq -c > commands.txt

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X