J'ai installé Ubuntu 10.10 hier. Puis, lors de l’utilisation du terminal, j’ai remarqué qu’une fois que j’avais quitté une session de terminal, son historique avait disparu, bien que cet historique existe pour les applications qui se trouvent dans l’historique de terminal like-ROOT (CERN).
En donnant la commande
echo $HISTFILESIZE
il montre 2000. Je l'ai changé en 10000 lorsque j'ai quitté la session et ouvert un nouveau terminal; il affiche à nouveau l'historique en tant que 2000 et aucune commande n'est accessible via les touches fléchées haut/bas.
S'il vous plaît aider. Je suis frustré par tellement ... beaucoup de dactylographie dans le terminal.
Si aucune commande ne peut être exécutée en utilisant ↑ ou ↓ cela indique que votre fichier d'historique est vide ou que vous n'avez pas de permissions de lecture. Regarde ça.
Peut-être que vous exécutez les commandes en tant qu'utilisateur différent. Si c'est le cas:
su otheruser
history 10
et regardez la sortie.
Si vous modifiez $HISTFILESIZE
, les modifications seront écrasées à chaque fois que vous invoquerez un autre shell. Pour éviter cela, modifiez cette variable dans votre .bashrc
. Vous devez également définir la variable $HISTSIZE
sur une valeur supérieure.
Trucs généralement utiles utilisant les historiques:
Ctrl+R effectue une recherche inverse de votre historique pour vous. Alt+. colle le dernier argument de la dernière commande dans votre invite à la position du curseur.
De plus, l’opérateur bang (!
) répète les commandes pour vous dans le terminal (s’il s’agit simplement d’économiser du temps en tapant. Exemple:
confus@confusion:~$ echo "bang + letters will repeat the last command starting with these letters."
bang + letters will repeat the last command starting with these letters.
confus@confusion:~$ clear
confus@confusion:~$ !ech
bang + letters will repeat the last command starting with these letters.
Tous ces objets liés à histroy sont stockés dans le répertoire personnel de tout utilisateur dans un fichier nommé .bash_history
. Vous pouvez les rechercher en utilisant la commande history
-. Elle est un petit tutoriel sur comment utiliser l'historique .
confus@confus:~$ history 4 #will print last 4 commands
1848 ls
1849 clear
1850 vi /home/confus/.local/share/applications/nautilus-home.desktop
1851 history 4
Une autre chose très utile est de créer un fichier .inputrc
dans votre répertoire personnel avec le contenu suivant:
"\e\e[C": forward-Word
"\e\e[D": backward-Word
"\e[A": history-search-backward
"\e[B": history-search-forward
De cette façon, vous pouvez utiliser le ↑ ou ↓ pour compléter les commandes que vous avez commencé à taper à partir de l'historique. Par exemple. lorsque vous tapez une commande assez longue telle que rsync -a -v --human-readable --Prune-empty-dirs -e 'ssh -i .ssh/id_rsa' --include="*/" --exclude="snapshot_*" --exclude="restart.*" /scratch/ x@cluster1:/home/x/runs/
et que vous voulez l'exécuter une seconde fois, vous pouvez simplement taper rsy
puis ↑ elle sera complétée à la dernière commande qui a commencé avec rsy. Une autre pression sur la touche supérieure complétera l’avant-dernière et ainsi de suite. Je ne sais pas pourquoi ce n'est pas le défaut.
Vous pouvez appuyer sur Control+R et recherchez dans votre historique bash si vous vous rappelez une partie de la commande que vous avez entrée.
Il existe également un fichier appelé .bash_history
dans votre dossier personnel que vous pouvez ouvrir ou grep pour rechercher les commandes que vous avez entrées précédemment.