A resposta de Andy está correto, como visto na página man:
Anchoring
The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.
O motivo pelo qual ele funciona é o -l
flag to ls
faz com que ele use o formato de listagem longa. A primeira coisa mostrada em cada linha são as permissões legíveis para o arquivo, e o primeiro caractere é d
para um diretório ou -
para um arquivo