Existe-t-il un moyen de sauvegarder toutes mes commandes de terminal saisies et de les afficher comme l'historique dans un journal?
75
Existe-t-il un moyen de sauvegarder toutes mes commandes de terminal saisies et de les afficher comme l'historique dans un journal?
Ceci est fait automatiquement. Bash stocke vos commandes dans ~/.bash_history
. Si vous souhaitez consulter l'historique, imprimez la sortie de ce fichier en utilisant l'un des fichiers suivants:
cat ~/.bash_history
less ~/.bash_history
...any other pager or output command...
Ou vous pouvez utiliser la commande intégrée de bash:
history
Pour effacer l’historique, supprimez le fichier et effacez l’historique temporaire:
rm ~/.bash_history && history -c
La taille de l'historique par défaut est de 500 commandes. Vous pouvez toutefois augmenter ce nombre en ajoutant une ligne à votre ~/.bashrc
fichier pour définir la HISTSIZE
variable:
HISTSIZE=<number of entries, -1 for unlimited>
Cela ne prendra pas effet immédiatement, mais uniquement pour les sessions nouvellement démarrées. Pour l'appliquer, re-sourcez le .bashrc
fichier:
. ~/.bashrc
ou courir HISTSIZE=...
dans votre session en cours.
Vous pouvez taper
history
sur un terminal pour afficher toutes les commandes exécutées précédemment.Vous pouvez tronquer la sortie sur certaines lignes (où 5 correspond au nombre de lignes):
Si vous souhaitez afficher uniquement les commandes contenant une chaîne (c'est-à-dire
mv
), vous pouvez procéder comme suit:Vous pouvez rappeler une commande en tapant
!
suivi du numéro de saisie.Disons que j'ai une histoire comme celle-ci:
mkdir foo
, vous pouvez taper!2
.!-1
ou!!
!-2
Si vous exécutez une commande qui échoue car elle nécessite des privilèges root (c'est-à-dire
touch /etc/foo
), vous pouvez utilisersudo !!
pour exécuter la dernière commande en tant que root.!man
vous exécuterez la dernière commande qui commence parman
!?man?
il exécutera la dernière commande qu'il contientman
(pas nécessairement au début de la ligne)Si vous avez une faute de frappe dans une commande, vous pouvez la corriger de cette façon. Disons que je tape
cat .bash_hi
, pour remplacer.bash_hi
par il.bash_history
me suffit de taper^hi^history^
.Source: https://www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps
la source
history
travaillant pour moi sur Ubuntu 16. Merci et cela devrait être accepté!Il suffit de taper:
Un nouveau fichier appelé print.txt sera créé dans votre répertoire de travail actuel.
la source
Je veux souvent juste ces commandes récentes, aussi. Publier sur mes notes de développement ou, bien, des sites stackexchange comme ceux-ci ... Cela s’est avéré très utile, en supprimant les numéros de ligne non pertinents:
ou, si vous l'aimez comme alias, les numéros de ligne sont supprimés et mis immédiatement en retrait (comme nécessaire pour le démarquage des guillemets)
la source
fc
: askubuntu.com/a/839642/158442Vous voudrez peut-être essayer https://github.com/dvorka/hstr, qui permet une navigation simple , une navigation et un filtrage "style de boîte à suggestions" de votre historique Bash:
Il peut être facilement lié à Ctrl-ret / ouCtrl-s
la source