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/08/2010 09:08] smolski |
doc:programmation:bash:history [27/04/2013 20:00] smolski [Affichage alphabétique de l'historique des commandes] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== HISTORY : Historique des commandes ====== | ||
+ | |||
+ | La commande history permet de visualiser l’ensemble des 500 dernières commandes que vous avez saisies dans votre console. | ||
+ | |||
+ | * History dans le terminal <user> relève les commandes de l'user. | ||
+ | * History dans le terminal <root> relève les commandes de root. | ||
+ | |||
+ | ===== HISTORY ===== | ||
+ | |||
+ | La commande s'utilise habituellement dans un terminal en tapant sur la flèche haut pour remonter le cours des commandes précédentes. | ||
+ | |||
+ | Nous pouvons également l'invoquer textuellement en tapant : | ||
+ | $ history | ||
+ | |||
+ | et obtenir la liste numérotée des 500 dernières commandes lancées | ||
+ | 4 cat base.tex | ||
+ | 5 ls -al | ||
+ | 6 cd Desktop/ | ||
+ | 7 cd Work/ | ||
+ | 8 pwd | ||
+ | 9 history | ||
+ | |||
+ | ==== History - Reverse-Search ==== | ||
+ | |||
+ | Terminal ouvert, en tapant : ''Ctrl r'' nous passons en : | ||
+ | (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. | ||
+ | |||
+ | ===== ! + Numero ===== | ||
+ | |||
+ | La commande !numéro permet d’atteindre la commande à droite du numéro. | ||
+ | |||
+ | 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 | ||
+ | pwd | ||
+ | /home/cobex4 | ||
+ | |||
+ | ===== ! + LETTRES ===== | ||
+ | La commande **!lettres**//_début_commande_recherchées// permet d’atteindre la commande à droite du numéro Essayez ! en tapant : | ||
+ | !ca | ||
+ | j’obtiens ici **cat base.tex** : | ||
+ | |||
+ | cobex4@pc:~> !ca | ||
+ | cat base.tex | ||
+ | /home/cobex4 | ||
+ | |||
+ | ===== EFFACER HISTORY ===== | ||
+ | Pour effacer l’historique, on utilise l’option -c. | ||
+ | |||
+ | cobex4@pc:~> history -c | ||
+ | cobex4@pc:~> history | ||
+ | 4 history | ||
+ | cobex4@pc:~> | ||
+ | |||
+ | ===== HISTORY SAUVEGARDE ===== | ||
+ | |||
+ | Pour sauvegarder votre historique dans un fichier .txt, faites simplement : | ||
+ | |||
+ | mattux@DarKVaDoR:~$ history > history.txt | ||
+ | mattux@DarKVaDoR:~$ | ||
+ | |||
+ | Pour lire en console le fichier obtenu : | ||
+ | |||
+ | mattux@DarKVaDoR:~$ more history.txt | ||
+ | 1 ssh mattux@chubaka | ||
+ | 2 ssh mattux@r2d2 | ||
+ | 3 su | ||
+ | 4 cd backup/ | ||
+ | 5 mv .mozilla-thunderbird/ /home/mattux/ | ||
+ | 6 mv .ssh/ /home/mattux/ | ||
+ | 7 ls -la /home/mattux/ | ||
+ | 8 cd ../.ssh/ | ||
+ | 9 ls -l | ||
+ | 10 cp -r ../backup/.ssh/ /home/mattux/ | ||
+ | 11 ls -l | ||
+ | |||
+ | 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// | ||
+ | |||
+ | ===== ASTUCE ===== | ||
+ | |||
+ | ==== Affichage alphabétique de l'historique des commandes ==== | ||
+ | |||
+ | //Astuce un peu sérieuse... Pour debianeux averti donc !// | ||
+ | |||
+ | Offert par **phlinux** dans le forum, là : | ||
+ | |||
+ | http://debian-facile.org/forum/viewtopic.php?pid=10709#p10709 | ||
+ | |||
+ | //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. \\ | ||
+ | Pourquoi ne pas remonter en utilisant les lettres alphatétiques débutant ces commandes ? Yop ! | ||
+ | |||
+ | === Exemple === | ||
+ | |||
+ | Par exemple tu écris : | ||
+ | $ g puis la touche flèche-haut | ||
+ | et s'affichent à la suite toutes les commandes qui commencent par "g" et qui se trouvent dans ton ~/.bash_history.. | ||
+ | |||
+ | Pareil, bien sur, si tu tapes "ge", s'affiche > gedit /tra/la/la...touche...> .geany /super/coptère | ||
+ | |||
+ | Pour ce faire, éditer avec nano : | ||
+ | |||
+ | 1- à la fin de ~/.bashrc | ||
+ | # appel alphabétique commandes | ||
+ | shopt -s histappend | ||
+ | PROMPT_COMMAND='history -a' | ||
+ | |||
+ | 2 - dans ~/.inputrc (à créer au lieu d'utiliser /etc/inputrc) | ||
+ | "\e[A": history-search-backward | ||
+ | "\e[B": history-search-forward | ||
+ | |||
+ | Bien sûr, utilisable pour root (à condition de lui cloquer la même chose) | ||
+ | |||
+ | === 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 : | ||
+ | <code> | ||
+ | "\e[A": history-search-backward | ||
+ | "\e[B": history-search-forward | ||
+ | set show-all-if-ambiguous on | ||
+ | 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. \\ | ||
+ | Exemple : | ||
+ | <code> | ||
+ | cp dijon_130419/dijon... | ||
+ | cp site.... | ||
+ | cp vignettes/ | ||
+ | ...</code> | ||
+ | |||
+ | Redémarrer le terminal pour que //l'effet se passe//... ;) | ||
+ | |||
+ | ==== Remerciements ==== | ||
+ | |||
+ | Source proposée conjointement par DosXX et phreg : | ||
+ | * [[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.]] | ||
+ | |||
+ | Voir aussi la commande **Reverse-Search** en haut du tuto pour faire la même chose au clavier direct ! | ||
+ | |||
+ | ==== Lister history ==== | ||
+ | |||
+ | Pour obtenir la liste historique du thème recherché, tapez : | ||
+ | <code bash> | ||
+ | history | grep themerecherche</code> | ||
+ | |||
+ | //Oui c'est du pur geek façon l'patron //**MaTTuX_**// !// :-D | ||
+ | |||
+ | |||
+ | |||
+ | |||