Menu
Donnez votre avis

Shell - Accès aux dernières commandes de l'historique

Posez votre question
Le shell Linux/Unix regorge de fonctionnalités permettant de gagner du temps.

Ainsi, il est possible de remonter dans l'historique des dernières commandes grâce aux flèches de navigation en appuyant sur la flèche du haut.


Mais il y a moyen d'accéder encore plus rapidement aux commandes présentes dans l'historique ! En effet, en saisissant un point d'exclamation (!) suivi des premières lettres de la commande, le shell exécute automatiquement la dernière commande commençant par ces lettres :


Soit l'historique suivant :
systeme:/home/user$tail /var/log/syslog
systeme:/home/user$vi /etc/apache/httpd.conf
systeme:/home/user$/etc/init.d/mysql restart
systeme:/home/user$apachectl restart
systeme:/home/user$tail /var/log/apache/error.log


La commande suivante permettra d'accéder à la commande n-4 dans l'historique (vi /etc/apache/httpd.conf) :
!vi
Quelques autres utilisations:
!! //Rappel de la dernière commande
!23 //La 23ème commande
!-2 //L'avant-dernière commande
!?profile //La dernière commande contenant le mot "profile"
^13^14^ //Substitution dans la dernière commande

L'historique des commandes est enregistré à chaque fermeture de session dans le fichier:
~/.bash_history
Pour éviter les doublons dans ce fichier, et donc dans l'historique accessible à la ligne de commande, rajoutez cette ligne dans ~/.bash_profile:
export HISTCONTROL=ignoredups


Enfin, pour des recherches plus détaillées, il existe une commande de recherche permettant de rechercher une commande spécifique avec un mot-clé. Pour activer la fonction de recherche, il suffit d'appuyer sur CTRL+R !

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de Utilisateur anonyme
Shell - Récupérer son IP publique
Shell - Affichage d'un fichier binaire: Terminal illisible