É 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.