É porque o cursor é usado frequentemente para indicar que a tecla ctrl foi pressionada ou que, de outra forma, é um caractere de controle.
A sequência de teclas que você digitou foi:
cp filename.xsl . ctrl + V retrocesso ~ Introduzir
Você estava supostamente tentando copiar o arquivo para o seu diretório pessoal ( ~ ). Você pode repetir isto digitando ctrl + V backspace . Você verá ^? impresso na tela.
Você pode visualizar arquivos com caracteres não imprimíveis convertidos em estilo C como este (é o sinal -b importante, mas como o arquivo começa com um ponto, você precisará de -a também:
$ ls -ab
. .. .7~
Sem o -b você só o vê como .?~ não porque ele está simplesmente omitindo o ^ , mas porque qualquer caractere não legível é exibido como ? . Tente touch ctrl + V Digite foo Digite e, em seguida, ls . O arquivo que você verá será ?foo . Então ls -b mostrará \rfoo .
Então, quando você rm .?~ está correspondendo, porque nesse caso o ? que você digitou é interpretado pelo shell como um curinga globbing para corresponder a qualquer caractere único, não especificamente um ponto de interrogação real. Você tem rm aliased para rm -i , então está confirmando sua ação e quando isso acontece mostra o código de escape no estilo C.