Réponses:
Vous pouvez inverser les paramètres Ubuntu par défaut en définissant deux variables (HISTIGNORE et HISTCONTROL), utilisez les commandes comme ci-dessous:
HISTIGNORE='!( *)'
HISTCONTROL=ignoredups
HISTCONTROL=ignoredups
modifie le comportement de l'historique pour ignorer uniquement les lignes en double et ne pas ignorer les lignes commençant par un espace. (Vous pouvez également définir HISTCONTROL sur la chaîne vide (avec HISTCONTROL=
) si vous souhaitez conserver les doublons, mais ce n'est généralement pas souhaité.)
HISTIGNORE='!( *)'
fait que l'histoire ignore toutes les lignes qui ne commencent pas par un espace: ( *)
correspondrait à chaque ligne commençant par un espace, mais le !
début annule la correspondance, donc il correspond à tout ce qui ne commence pas par un espace. Et tout ce qui correspond au motif HISTIGNORE sera ignoré par l'histoire. (Cette dernière option nécessite que bash soit exécuté avec extglob
activé, avec shopt -s extglob
, mais c'est le paramètre par défaut sur Ubuntu.)
Si vous voulez rendre cela permanent, n'oubliez pas de mettre les deux commandes ci-dessus dans votre ~/.bashrc
.
HISTIGNORE='ls*:cd*'
, qui fera que l'historique ignorera chaque ligne commençant par ls
ou cd
, vous pouvez étendre cette liste avec d'autres commandes, il suffit de mettre un :
entre les commandes . Mais n'oubliez pas que la fonction de rappel de commande à laquelle vous pouvez accéder par la "touche flèche vers le haut" utilise également cet historique, donc si vous définissez quelque chose à ignorer, vous ne pourrez pas rappeler ces commandes ignorées avec la " flèche vers le haut".
ssh-copy-id
ou ssh-keygen
. Dans HISTIGNORE
, j'ai inclus " ssh\ *
" avec mes autres commandes ignorées. Échapper au caractère d'espace semble être obligatoire.
" Les commandes exécutées dans le terminal préfixé avec des espaces vides ne sont pas enregistrées dans le fichier d'historique des commandes "
Oui, ils sont.
.bashrc
... J'en avais besoin pour empêcher bash d'enregistrer tous lescd
s,ls
s et autres commandes de tous les jours que j'utilise; et pour ces quelques commandes dont j'ai besoin dans l'histoire, je peux maintenant utiliser le préfixe ..