Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/11/2020, à 15:42

Caille

Le terminal garde tout en mémoire ?

Bonjour,

Je viens de constater que le terminal semble tout garder en mémoire.
J'ai utilisé la flèche vers le haut pour retrouver une ancienne commande, mais en allant plus loin j'ai retrouvé des commandes qui date de plusieurs mois.
Je pensais que toutes les commandes étaient effacées après arrêt du PC.
Il doit bien y avoir un fichier dans lequel ce trouve toutes ces commandes, mais avec quel nom et ou ce trouve-t-il ?

Je viens de trouver, c'est la commande "history", ma dernière ligne est "529" !

Cordialement.

Dernière modification par Caille (Le 18/11/2020, à 15:48)

Hors ligne

#2 Le 18/11/2020, à 15:48

alv37

Re : Le terminal garde tout en mémoire ?

slt, toutes les commandes sont stocké dans un fichier nommé de la sorte:*_history.
Le nom va varié selon le shell que tu utilise, si tu utilise bash, ce sera .bash_history, si tu utilise zsh ce sera .zsh_history, etc...
Le fichier est situé dans ton home (en tant que fichier caché).


PC #1: Triple-Boot (Custom) : MS-7823 (MSI B85M-G43) | CPU:  Intel i7 4790k | RAM:  8 Go | GPU:  Nvidia Geforce GTX 970 | DE: Cinnamon
Windows 10 Pro 22H2 // VoidLinux // ArchLinux
PC #2 :(Custom) :  Linux Mint 21.3 | DE:  Cinnamon | MB:  Gigabyte GA-G31M-ES2L v2 | CPU:  Intel Pentium D 915 | RAM:  4 Go | GPU:  Intel 82G33/G31 Express Integrated Graphics

Hors ligne

#3 Le 18/11/2020, à 15:50

Vobul

Re : Le terminal garde tout en mémoire ?

Oui, c'est .bash_history dans ton $HOME (ou .histfile / .zsh_history pour zsh).

Perso je trouve que c'est une super feature. Même si je réinstalle mon système (lorsque je change d'ordi par exemple) je copie le fichier .histfile. J'ai même configuré mon zsh pour garder 100000 commandes en mémoire (avec des options pour ne pas répéter les commandes qui sont les mêmes bien sûr).

Tu ajoutes à ça une fish-like complétion et c'est le bonheur. Parfois il y a des commandes que je ne tape que très rarement et je suis bien content de les retrouver dans mon historique comme ça j'ai pas à chercher quels étaient les bons arguments etc.... Ça permet aussi de voir si tu as déjà effectué cette commande dans le passé.

LkxQoCX.gif

Si tu ne veux pas ça, tu peux configurer bash pour ne pas garder l'historique, mais je ne te le recommande pas bien évidemment. À toi de voir.

Dernière modification par Vobul (Le 18/11/2020, à 15:54)


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#4 Le 18/11/2020, à 15:50

Caille

Re : Le terminal garde tout en mémoire ?

Bonjour alv37,

Je viens justement de modifier ma question, car j'ai tapé "history" dans le terminal wink

Merci pour ta réponse, je vais chercher le fichier, il s'appel bien ".bash_history" je suis sous Gnome.

Dernière modification par Caille (Le 18/11/2020, à 15:52)

Hors ligne

#5 Le 18/11/2020, à 16:16

Caille

Re : Le terminal garde tout en mémoire ?

Vobul a écrit :

Oui, c'est .bash_history dans ton $HOME (ou .histfile / .zsh_history pour zsh).
Perso je trouve que c'est une super feature. Même si je réinstalle mon système (lorsque je change d'ordi par exemple) je copie le fichier .histfile. J'ai même configuré mon zsh pour garder 100000 commandes en mémoire (avec des options pour ne pas répéter les commandes qui sont les mêmes bien sûr).

Tu ajoutes à ça une fish-like complétion et c'est le bonheur. Parfois il y a des commandes que je ne tape que très rarement et je suis bien content de les retrouver dans mon historique comme ça j'ai pas à chercher quels étaient les bons arguments etc.... Ça permet aussi de voir si tu as déjà effectué cette commande dans le passé.

https://i.imgur.com/LkxQoCX.gif

Si tu ne veux pas ça, tu peux configurer bash pour ne pas garder l'historique, mais je ne te le recommande pas bien évidemment. À toi de voir.

Bonjour Vobul,

Voici mon .bashrc

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

Chez moi il semble réglé sur 1000, par contre il y en a un autre histfilesize réglé sur 2000 ?

J'ai exécuté cette ligne:

echo 'export HISTSIZE=1200' >> ~/.bashrc

Cela à ajouté en fin de fichier la ligne :
Il doit-être possible de modifier directement les lignes au dessus, sans exécuter cette commande.
De plus le fichier .bashrc peut-être modifié sans les droits administrateur, ce n'est pas risqué ?

Dernière modification par Caille (Le 18/11/2020, à 16:28)

Hors ligne

#6 Le 18/11/2020, à 16:27

Vobul

Re : Le terminal garde tout en mémoire ?

Caille a écrit :

Il doit-être possible de modifier directement les lignes au dessus !

Ah ben oui. Tu sais la plupart des fichiers sous GNU+Linux sont des fichiers texte, donc il te suffit de les ouvrir avec ton éditeur favoir et de les éditer !


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#7 Le 18/11/2020, à 16:29

Caille

Re : Le terminal garde tout en mémoire ?

Vobul a écrit :
Caille a écrit :

Il doit-être possible de modifier directement les lignes au dessus !

Ah ben oui. Tu sais la plupart des fichiers sous GNU+Linux sont des fichiers texte, donc il te suffit de les ouvrir avec ton éditeur favori et de les éditer !

Modifié sans aucun droit administrateur ?
Je viens de placer le fichier bashrc dans la corbeille pour voir, mon PC redémarre normalement, à quoi sert ce fichier ?
Il n'a même pas été recréé un démarrage suivant..

Dernière modification par Caille (Le 18/11/2020, à 16:37)

Hors ligne

#8 Le 18/11/2020, à 16:54

Vobul

Re : Le terminal garde tout en mémoire ?

En fait le .bashrc qui est dans ton home n'est pas du tout essentiel. Tout est expliqué ici : https://www.gnu.org/software/bash/manua … Files.html

Les fichiers .rc dans ton home te permettent d'avoir des configs associées à ton utilisateur qui possiblement étendent ou remplacent les configs dans /etc appliquées à tous les utilisateurs.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne