Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:programmation:bash:history [27/04/2013 19:31] smolski [Affichage alphabétique de l'historique des commandes] |
doc:programmation:bash:history [24/02/2018 15:10] bendia [Sauvegarder history] Ajout import historique |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== HISTORY : Historique des commandes ====== | + | ====== history ====== |
+ | |||
+ | * Objet : history | ||
+ | * Niveau requis : {{tag>débutant avisé}} | ||
+ | * Commentaires : //Visualiser jusqu'à l’ensemble des 500 dernières commandes que vous avez saisies. // | ||
+ | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
+ | * Suivi : | ||
+ | * Création par [[user>MaTTuX_]] //Mattuxalhem...// | ||
+ | * Testé par [[user>smolski]] //pareil// :-P | ||
+ | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1031 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | |||
+ | ===== Introduction ===== | ||
La commande history permet de visualiser l’ensemble des 500 dernières commandes que vous avez saisies dans votre console. | La commande history permet de visualiser l’ensemble des 500 dernières commandes que vous avez saisies dans votre console. | ||
Ligne 6: | Ligne 18: | ||
* History dans le terminal <root> relève les commandes de root. | * History dans le terminal <root> relève les commandes de root. | ||
- | ===== HISTORY ===== | + | ===== Utilisation ===== |
- | La commande s'utilise habituellement dans un terminal en tapant sur la flèche haut pour remonter le cours des commandes précédentes. | + | La commande s'utilise habituellement dans un terminal en tapant sur <key>Up</key> pour remonter le cours des commandes précédentes. |
Nous pouvons également l'invoquer textuellement en tapant : | Nous pouvons également l'invoquer textuellement en tapant : | ||
- | $ history | + | <code user>history</code> |
et obtenir la liste numérotée des 500 dernières commandes lancées | et obtenir la liste numérotée des 500 dernières commandes lancées | ||
+ | <file bash résultat de la commande précédente> | ||
4 cat base.tex | 4 cat base.tex | ||
5 ls -al | 5 ls -al | ||
Ligne 20: | Ligne 33: | ||
8 pwd | 8 pwd | ||
9 history | 9 history | ||
+ | </file> | ||
==== History - Reverse-Search ==== | ==== History - Reverse-Search ==== | ||
- | Terminal ouvert, en tapant : ''Ctrl r'' nous passons en : | + | Terminal ouvert, en tapant : <key>C-r</key> nous passons en : |
(reverse-i-search)`reco': | (reverse-i-search)`reco': | ||
- | et en tapant maintenant les premières lettres de la commande recherchée, celle-ci s'autocomplète intégralement au fur et à mesure des nouveaux appuis pour remonter dans les commandes similaires. | + | Et en tapant maintenant les premières lettres de la commande recherchée, celle-ci s'autocomplète intégralement. \\ |
+ | Pour remonter davantage dans l'historique sur le thème des premières lettres, il suffit de taper de nouveau sur <key>C-r</key> pour lister la suite des commandes similaires. | ||
- | ===== ! + Numero ===== | + | Astuce également valable dans un shell zsh. (//dixit le// **captnfab**...) ;-) |
+ | |||
+ | ==== ! + Numero ==== | ||
La commande !numéro permet d’atteindre la commande à droite du numéro. | La commande !numéro permet d’atteindre la commande à droite du numéro. | ||
Ligne 34: | Ligne 51: | ||
Essayez en tapant ''!8'', j’obtiens ici ''pwd'' qui est la huitième ligne de commande en mémoire dans l'**history**. | Essayez en tapant ''!8'', j’obtiens ici ''pwd'' qui est la huitième ligne de commande en mémoire dans l'**history**. | ||
- | cobex4@pc:~> !8 | + | <code user> !8</code> |
+ | <file bash résultat de la commande précédente> | ||
pwd | pwd | ||
- | /home/cobex4 | + | /home/user |
+ | </file> | ||
+ | |||
+ | ==== ! + lettres ==== | ||
- | ===== ! + LETTRES ===== | ||
La commande **!lettres**//_début_commande_recherchées// permet d’atteindre la commande à droite du numéro Essayez ! en tapant : | La commande **!lettres**//_début_commande_recherchées// permet d’atteindre la commande à droite du numéro Essayez ! en tapant : | ||
!ca | !ca | ||
j’obtiens ici **cat base.tex** : | j’obtiens ici **cat base.tex** : | ||
- | cobex4@pc:~> !ca | + | <code user>!ca</code> |
+ | <file bash résultat de la commande précédente> | ||
cat base.tex | cat base.tex | ||
/home/cobex4 | /home/cobex4 | ||
+ | </file> | ||
+ | |||
+ | ===== Effacer history ===== | ||
- | ===== EFFACER HISTORY ===== | ||
Pour effacer l’historique, on utilise l’option -c. | Pour effacer l’historique, on utilise l’option -c. | ||
- | cobex4@pc:~> history -c | + | <code user>history -c</code> |
- | cobex4@pc:~> history | + | <code user>history</code> |
+ | <file bash résultat de la commande précédente> | ||
4 history | 4 history | ||
cobex4@pc:~> | cobex4@pc:~> | ||
+ | </file> | ||
- | ===== HISTORY SAUVEGARDE ===== | + | ===== Sauvegarder history ===== |
Pour sauvegarder votre historique dans un fichier .txt, faites simplement : | Pour sauvegarder votre historique dans un fichier .txt, faites simplement : | ||
- | mattux@DarKVaDoR:~$ history > history.txt | + | <code user>history > history.txt</code> |
- | mattux@DarKVaDoR:~$ | + | |
- | Pour lire en console le fichier obtenu : | + | Pour [[doc:systeme:more|lire en console]] le fichier obtenu : |
- | mattux@DarKVaDoR:~$ more history.txt | + | <code user>more history.txt</code> |
+ | <file bash résultat de la commande précédente> | ||
1 ssh mattux@chubaka | 1 ssh mattux@chubaka | ||
2 ssh mattux@r2d2 | 2 ssh mattux@r2d2 | ||
Ligne 76: | Ligne 101: | ||
10 cp -r ../backup/.ssh/ /home/mattux/ | 10 cp -r ../backup/.ssh/ /home/mattux/ | ||
11 ls -l | 11 ls -l | ||
+ | </file> | ||
Voilà votre fichier peut être trés long tout dépend du nombre de commandes que vous avez fait. ;-) | Voilà votre fichier peut être trés long tout dépend du nombre de commandes que vous avez fait. ;-) | ||
//[[matt_chile@yahoo.fr|MaTTuX_]] 2009/01/14 16:30// | //[[matt_chile@yahoo.fr|MaTTuX_]] 2009/01/14 16:30// | ||
+ | |||
+ | ===== Importer une sauvegarde dans history ===== | ||
+ | |||
+ | Par exemple, pour importer votre fichier **history.txt** précédemment | ||
+ | |||
+ | <code user>history -r history.txt</code> | ||
+ | |||
+ | <note important>Cela va ajouter le contenu de **history.txt** dans le fichier **.bash_history** en cours, pas le remplacer. Ppir cela, il faudrait effacer l'historique avant.</note> | ||
===== ASTUCE ===== | ===== ASTUCE ===== | ||
Ligne 88: | Ligne 122: | ||
Offert par **phlinux** dans le forum, là : | Offert par **phlinux** dans le forum, là : | ||
+ | * http://debian-facile.org/forum/viewtopic.php?pid=10709#p10709 | ||
- | http://debian-facile.org/forum/viewtopic.php?pid=10709#p10709 | + | //Qu'il est mignon de nous donner cela... Merci //**phlinux**// !// |
- | + | ||
- | //Qu'il est mignon de nous donner cela... Merci phlinux !// | + | |
- | Habituellement, nous pouvons **remonter l'historique** de nos commandes dans le terminal avec le "flèche-haut" du clavier... Simple. \\ | + | Habituellement, nous pouvons **remonter l'historique** de nos commandes dans le terminal avec <key>Up</key>... Simple. \\ |
Pourquoi ne pas remonter en utilisant les lettres alphatétiques débutant ces commandes ? Yop ! | Pourquoi ne pas remonter en utilisant les lettres alphatétiques débutant ces commandes ? Yop ! | ||
Ligne 99: | Ligne 132: | ||
Par exemple tu écris : | Par exemple tu écris : | ||
- | $ g puis la touche flèche-haut | + | <code user>g</code> |
+ | puis tu utilises la touche <key>Up</key> | ||
et s'affichent à la suite toutes les commandes qui commencent par "g" et qui se trouvent dans ton ~/.bash_history.. | et s'affichent à la suite toutes les commandes qui commencent par "g" et qui se trouvent dans ton ~/.bash_history.. | ||
Ligne 119: | Ligne 153: | ||
=== Recherche par thème === | === Recherche par thème === | ||
- | Pour rechercher une commande par thème avec la flèche haut, vous écrivez dans ~/.inputrc (à créer au lieu d'utiliser /etc/inputrc) ceci : | + | Pour rechercher une commande par thème avec <key>Up</key> vous écrivez dans ~/.inputrc (à créer au lieu d'utiliser /etc/inputrc) ceci : |
<code> | <code> | ||
"\e[A": history-search-backward | "\e[A": history-search-backward | ||
Ligne 126: | Ligne 160: | ||
set completion-ignore-case on</code> | set completion-ignore-case on</code> | ||
- | Il vous suffit alors d'autocompléter par la touche flèche-haut du clavier les 3 premières lettres de la commande recherchée et il ne sera proposé par history que toutes les commandes commençant __uniquement par ces lettres__ à chaque appui. \\ | + | Il vous suffit alors d'autocompléter par la touche <key>Up</key> les 3 premières lettres de la commande recherchée et il ne sera proposé par history que toutes les commandes commençant __uniquement par ces lettres__ à chaque appui. \\ |
Exemple : | Exemple : | ||
- | <code> | + | <code user> |
cp dijon_130419/dijon... | cp dijon_130419/dijon... | ||
cp site.... | cp site.... | ||
Ligne 136: | Ligne 170: | ||
Redémarrer le terminal pour que //l'effet se passe//... ;) | Redémarrer le terminal pour que //l'effet se passe//... ;) | ||
- | Voir la commande | + | ===== Remerciements ===== |
Source proposée conjointement par DosXX et phreg : | Source proposée conjointement par DosXX et phreg : | ||
* [[http://korben.info/ | L'ami korben !]] | * [[http://korben.info/ | L'ami korben !]] | ||
* [[http://www.crowd42.info/une-astuce-pour-retrouver-facilement-une-ligne-de-commande-deja-executee | Une astuce avec history.]] | * [[http://www.crowd42.info/une-astuce-pour-retrouver-facilement-une-ligne-de-commande-deja-executee | Une astuce avec history.]] | ||
+ | |||
+ | Voir aussi la commande **Reverse-Search** en haut du tuto pour faire la même chose au clavier sans fichier à ajouter ! | ||
+ | |||
+ | ===== Lister history ===== | ||
+ | |||
+ | Pour obtenir la liste historique du thème recherché, tapez : | ||
+ | <code user> | ||
+ | history | grep themerecherche</code> | ||
+ | |||
+ | //Oui c'est du pur geek façon l'patron //**MaTTuX_**// !// :-D | ||
+ | |||