O conceito, em uma página só
A preguiça e o ponto de exclamação
De onde vêm estes símbolos, por que quase ninguém os chama, e por que eles continuam em todo shell que você abrir hoje.
A expansão de histórico nasceu no csh de Bill Joy, nos anos setenta, e o bash e o zsh a carregam até hoje: um ponto de exclamação que, no começo de uma palavra, deixa de ser pontuação e vira um pedido — traga de volta aquela linha, aquela palavra, aquele pedaço.
O artigo Your shell and the lazy exclamation mark, que serviu de expedição de coleta para este relicário, argumenta que isso é o princípio de não se repetir aplicado ao terminal: se o argumento já foi digitado uma vez, digitá-lo de novo é desperdício de teclado.
A gramática, em uma linha
Toda expressão tem até três partes: um evento (qual linha do histórico), uma palavra (qual pedaço dela) e modificadores (o que fazer com o pedaço), separados por dois-pontos. !ssh:1:h lê-se: da última linha que começou com ssh, a primeira palavra, só o diretório.
Quase tudo aceita abreviação — !!:$ vira !$, !!:1 vira !^ — e é nas abreviações que a coleção encosta no dia a dia: o artigo sugere levar para casa quatro peças, !$, !:0, !$:h e !$:t.
Por que quase ninguém chama
Porque executa sem mostrar. Ctrl+R e Alt+. venceram o costume justamente por deixarem a linha à vista antes do Enter — e por isso moram aqui na gaveta de ferramentas vizinhas, não como rivais, mas como parentes. O modificador :p é a ponte: imprime sem executar.
E há quem prefira aposentar tudo: a gaveta de contenção guarda o interruptor que desliga a expansão de histórico por completo.
Por que muitas páginas pequenas
Pelo mesmo motivo do herbário: cada relíquia, cada gaveta, cada ordenação e este próprio texto são arquivos HTML separados, ligados por links, escritos por um gerador de algumas centenas de linhas. Estado vira endereço; o navegador cuida do resto.