Todos os seus personagens são gráficos (eles têm glifos visíveis). Tente um nome de arquivo contendo espaços em branco e caracteres invisíveis:
$ touch $'\n\t\b\a\b'
$ ls -b
\n\t\b\a\b
$ echo *
$ printf "%q\n" *
$'\n'$'\t'$'\b'$'\a'$'\b'
Um exemplo útil real em que a saída poderia ser um pouco complicada: nomes de arquivos que acidentalmente tinham o caractere \r
inserido neles porque as terminações do arquivo do DOS ficavam no meio de uma operação:
$ od -c file-list
0000000 s o m e - f i l e . t x t \r \n
0000017
$ xargs -a file-list touch
$ ls -b
\n\t\b\a\b file-list some-file.txt\r
Eu já vi isso em algum post no U & amp; L. Pessoalmente, eu usaria normalmente ls -q
para copiar e colar na própria linha de comando:
$ ls -q
''$'\n\t\b\a\b' ' ' file-list 'some-file.txt'$'\r'
O comportamento padrão nas versões mais recentes de ls
é ls -q
para uso interativo: Por que o 'ls' é envolvido de repente itens com espaços entre aspas simples?