A partir do momento em que o shell inicia, ele passa a guardar todos os comandos digitados pelo usuário, na seqüência em que são digitados. Estes comandos podem ser recuperados, editados e novamente executados pelo shell, simplificando tarefas repetitivas em arquivos distintos. Este recurso é chamado de história porque grava a seqüência de acontecimentos no âmbito do shell.
O número de comandos gravados pelo shell é determinado pela variável de
ambiente history, enquanto que a variável savehist determina quantos
comandos serão gravados no arquivo .history quando o usuário termina a
sessão, para serem recuperados numa sessão futura.
A primeira maneira de examinar os comandos do shell é através do comando history que mostra em parte algo como
onde vemos o número do comando na história, a hora da chamada e a
sintaxe do comando. O caracter de substituição da história é o , logo
se quiséssemos executar o comando de ordem 133 (clear) novamente,
simplesmente digitamos
$ 133
clear
que limparia a tela do terminal.
Na maioria das implementações do tcsh é possível usar as setas do teclado
para percorrer a história de
comandos. Existem alguns modificadores da história que simplificam o
reutilização dos comandos já digitados. Para repetir o último comando executado
digitamos
. Como no exemplo acima, o comando de ordem
é
reexecutado através da sintaxe
, onde
é seu número. Se quisermos contar
do fim para o começo, isto é, para reexecutar o comando
a partir do atual,
basta fazer
. Se o clear devesse ser executado novamente, poderíamos
procurá-lo pelo seu nome, através da sintaxe
nome. Neste caso
$ clear
clear
fazemos com que o shell procure pelo comando mais recente que comece
com o texto clear, podendo abreviá-lo por clea,
cle ou
mesmo
c. O shell lê os comandos na ordem inversa daquela em que
foram digitados, até encontrar o texto que coincida com aquele fornecido pelo
usuário, quando executa o comando. Veja outros operadores de procura da história
na tabela
.