Par défaut, les commands du terminal sont-elles enregistrées?

Je voulais savoir si, par défaut, tout ce que vous entrez dans le terminal est enregistré quelque part dans votre système. Je peux l'imaginer dans une certaine mesure parce que vous pouvez utiliser les flèches haut et bas pour callbacker les commands saisies, mais agit de la même façon que la RAM fonctionne sur un ordinateur, où les commands sont perdues / supprimées? Ou y a-t-il quelqu'un dans l'ordinateur qui les garde encore?

court: non

long: Cela dépend:

  • la plupart des shells ont un mécanisme d'historique qui enregistre les lignes de command.
  • shell-history est généralement configurable (et peut ne pas être activé).
  • Mais les choses comme les éditeurs de text ne le font généralement pas (vos frappes ne sont pas enregistrées en général)

De plus, même avec des shells, il n'est pas courant d'avoir plusieurs instances de shells en cours d'exécution et d'save toutes les commands de ces instances.

En plus de shell-history, il existe d'autres moyens d'save vos commands, par exemple en utilisant des programmes d'audit de bas niveau (qui enregistrent les ressources utilisées par vos commands) ou des script text seul (qui peuvent save toutes les informations envoyées depuis l'ordinateur au terminal).

Même si votre shell n'est pas configuré pour save des commands, vous pouvez travailler dans un environnement où l'audit est configuré. Pour ceux "par défaut", il y a un logging.

Pour en savoir plus:

  • Comment désactiver l'historique des commands shell Bash sous Linux
  • Comment pouvez-vous save chaque command tapée
  • Comment suivre / save les commands exécutées sur un shell?

Cela dépend de la coquille que vous utilisez. Si vous n'utilisez pas Windows et que vous utilisez le shell par défaut de votre système, vous utilisez probablement le shell Bash.

Le shell Bash stocke une list de la plupart des commands que vous avez saisies dans un file défini par la variable d'environnement HISTFILE . Par défaut, il s'agit de ~/.histfile . En changeant HISTFILE en quelque chose d'autre, vous pouvez stocker l'historique ailleurs. /dev/null est populaire pour ceux qui veulent cacher leur histoire. Bash stocke également votre historique dans la RAM, c'est pourquoi vous pouvez toujours utiliser les touches fléchées haut et bas, même lorsque vous définissez HISTFILE sur /dev/null .

Maintenant, vous remarquerez que j'ai dit la plupart des commands que vous avez saisies. Les commands préfacées avec un espace n'apparaissent pas dans votre historique.