Les Allergies
Alimentaires

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

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 !
Publié par Jeff - Dernière mise à jour le 6 novembre 2009 à 13:49 par marlalapocket
Ce document intitulé « Shell - Accès aux dernières commandes de l'historique » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Shell - Accès aux dernières commandes de l'historique
  •  Trojan Winlock : "Virus Gendarmerie" et "Virus Bundespolizei" » Fiches pratiques : Présentation de l'infection Désinfection Version "Activite illicite demelee" Version "Votre ordinateur est bloquée" Autre version Windows Vista/Seven Windows XP Conclusion
  •  Liste des commandes Windows » Fiches pratiques : Remarques : Certaines commandes sont dangereuses (l’exemple de SYSKEY) et peuvent causer des problèmes pouvant conduire au formatage. D’autres commandes ne sont pas exécutables sous Windows XP ou des versions antérieures, je ne les ai pas...
  •  Note FAI et notre vie vie priveé (Résolu) » Meilleure réponse: Bon je pense que tu as eu ta reponse, conclusion : le fai garde quelque trace de t'es connexion, notamment les ip attribué, et en aucun t'es parent peuvent avoir d'infos sur ce que tu as fait sur internet même moyennant de l'argent.
  •  [MySql] id du dernier enregistrement (Résolu) » Meilleure réponse: Essaye plutot la fonction Mysql suivante: last_insert_id() SELECT LAST_INSERT_ID() FROM table (regarde quand même la doc pour être sur)
  •  [shell/unix] date de la veille (Résolu) » Meilleure réponse: Sous solaris et HP-UX, il existe une solution plus simple que de creer un script. Il suffit de jouer avec le fuseau horaire (variable systeme $TZ). Exemple : # echo `TZ=MET+24 date +"%D"` donne: 11/28/05 (nous sommes le 11/29/05) Le « +
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Shell - Récupérer son IP publique
Shell - Affichage d'un fichier binaire: Terminal illisible