GNU/Linux >> Tutoriels Linux >  >> Linux

Rendez l'historique de Bash plus utile avec ces conseils

Un terminal Linux exécutant Bash a un historique intégré que vous pouvez utiliser pour suivre ce que vous avez fait récemment. Pour afficher un historique de votre session Bash, utilisez la commande intégrée history :

$ echo "foo"
foo
$ echo "bar"
bar
$ history
  1  echo "foo"
  2  echo "bar"
  3  history

L'history La commande n'est pas un fichier exécutable sur votre système de fichiers, comme la plupart des commandes, mais une fonction de Bash. Vous pouvez le vérifier en utilisant le type commande :

$ type history
history is a shell builtin

Contrôle de l'historique

La limite supérieure de lignes dans l'historique de votre shell est définie par le HISTSIZE variable. Vous pouvez définir cette variable dans votre .bashrc dossier. Ce qui suit définit votre historique sur 3 000 lignes, après quoi la ligne la plus ancienne est supprimée pour faire place à la commande la plus récente, placée en bas de la liste :

export HISTSIZE=3000

Il existe également d'autres variables liées à l'histoire. Le HISTCONTROL La variable contrôle l'historique stocké. Vous pouvez forcer Bash à exclure les commandes commençant par un espace vide en plaçant ceci dans votre .bashrc fichier :

export HISTCONTROL=$HISTCONTROL:ignorespace

Désormais, si vous tapez une commande commençant par un espace, cette commande ne sera pas enregistrée dans l'historique :

$ echo "hello"
$     mysql -u bogus -h badpassword123 mydatabase
$ echo "world"
$ history
  1  echo "hello"
  2  echo "world"
  3  history

Vous pouvez également éviter les entrées en double :

export HISTCONTROL=$HISTCONTROL:ignoredups

Maintenant, si vous tapez deux commandes l'une après l'autre, une seule apparaît dans l'historique :

$ ls
$ ls
$ ls
$ history
  1  ls
  2  history

Si vous aimez ces deux ignores, vous pouvez simplement utiliser ignoreboth :

export HISTCONTROL=$HISTCONTROL:ignoreboth

Supprimer une commande de l'historique

Parfois, vous faites une erreur et tapez quelque chose de sensible dans votre shell, ou peut-être voulez-vous simplement nettoyer votre historique afin qu'il représente plus précisément les étapes que vous avez suivies pour que quelque chose fonctionne correctement. Si vous souhaitez supprimer une commande de votre historique dans Bash, utilisez le -d option avec le numéro de ligne de l'élément que vous souhaitez supprimer :

$ echo "foo"
foo
$ echo "bar"
bar
$ history | tail
  535  echo "foo"
  536  echo "bar"
  537  history | tail
$ history -d 536
$ history | tail
  535  echo "foo"
  536  history | tail
  537  history -d 536
  538  history | tail

Pour arrêter d'ajouter l'history entrées, vous pouvez placer un space avant la commande, tant que vous avez ignorespace dans votre HISTCONTROL variable d'environnement :

$  history | tail
  535  echo "foo"
  536  echo "bar"
$  history -d 536
$  history | tail
  535  echo "foo"

Vous pouvez effacer tout l'historique de vos sessions avec le -c choix :

$ history -c
$  history
$

Leçons d'histoire

En savoir plus sur Bash

  • Aide-mémoire de Bash
  • Une introduction à la programmation avec Bash
  • Guide de l'administrateur système sur les scripts Bash
  • Derniers articles sur Bash

Manipuler l'histoire est généralement moins dangereux qu'il n'y paraît, surtout lorsque vous la conservez avec un objectif en tête. Par exemple, si vous documentez un problème complexe, il est souvent préférable d'utiliser votre historique de session pour enregistrer vos commandes car, en les insérant dans votre historique, vous les exécutez et testez ainsi le processus. Très souvent, documenter sans faire conduit à négliger de petites étapes ou à mal écrire des détails mineurs.

Utilisez vos sessions d'histoire au besoin et exercez votre pouvoir sur l'histoire avec sagesse. Bonne piratage de l'histoire !


Linux
  1. Analyser l'historique de Bash sous Linux

  2. Utilisation de modificateurs de mots avec l'historique Bash sous Linux

  3. Plus de conseils pour empaqueter votre logiciel Linux avec RPM

  4. 15 commandes intégrées utiles de Bash Shell (avec exemples)

  5. du -h avec plus de décimales

Commande d'historique sous Linux (historique de bash)

Rendre Vim encore plus génial avec ces fonctionnalités intéressantes

3 conseils utiles sur l'utilisation de la commande History sous Linux

Tirez le meilleur parti de votre Kindle sous Linux avec ces conseils simples

Commande d'historique avec exemples

Réussissez à sauver la journée avec les commandes d'historique de Bash