Para ver o que está acontecendo, no seu caso eu faria
$ ls -l ]?
$ ls | od -x
Você pode criar um arquivo com qualquer caractere ASCII ( man 7 ascii
) no unix. Quase sempre eles são criados por acidente. Às vezes, há um caractere final em um arquivo.
$ ls | od -x # to find out.
Eu costumo removê-los com cuidado? Desde a ? corresponde a 1 char. Primeiro ls? para ver o que é encontrado, então rm ?
Ou se houver um caractere de rastreamento estranho em um arquivo, então <wierdfile?>
Houve um truque para criar um arquivo com o código BEL ASCII (07), então quando você fez um ls
, você ouviria um som.
$ touch 'echo -e "\a"' # \a is BEL
$ ls # the filename is not really ?, it is really the BEL sign (07)
?
$ ls | od -x # see that it is 07
0000000 0a07
0000002
$ ls ? # ? with match any file with 1 char.
?
$ rm ? # just 1 file so safe to run it.
ou interativa para uma remoção ainda mais segura.
$ rm -i ?
rm: remover o arquivo vazio regular "\ a"? y
$ ls ?
ls: cannot access ?: No such file or directory
O arquivo Yep desapareceu.