As instruções no livro são para bash. O Zsh é um programa diferente com diferentes ligações de teclas.
No zsh, você pode ver uma lista de todos os comandos (externos, incorporados, função, alias, até mesmo palavras-chave ...) com:
type -m '*'
Apenas para seus nomes:
whence -wm '*' | sed 's/:[^:]*$//'
Ou apenas para nomes de comandos externos:
print -rlo -- $commands:t | less
$commands
é uma matriz que contém todos os comandos externos. O modificador de histórico :t
trunca a parte do diretório dos caminhos de comando (mantém somente o t ail). print -rlo
para imprimi-los r aw em ordem alfabética o rder, um por l ine.
Mais longo, mas menos enigmático:
for p in "$path[@]"; do (cd ${p:-.} && ls); done | sort -u | less
Isso pode ser ajustado para funcionar em qualquer shell:
(IFS=:; for p in $PATH; do (cd ${p:-.} && ls); done) | sort -u | less
(Todos os comandos listados aqui assumem que não há caracteres “incomuns” nos caminhos de comando).