Is it correct to use certain special characters, as +, &, ', . (dot) and , (comma), basically, in filenames.
Sim.
Correto, mas não necessariamente aconselhável ou conveniente.
Você pode usar qualquer caractere, exceto nulo e /
dentro de um nome de arquivo nos sistemas de arquivos Unix e Linux modernos.
Você pode usar pontuação ASCII . Alguns utilitários usam stops ( dot ) e vírgulas nos nomes dos arquivos que eles criam.
Você pode usar caracteres de controle ASCII , no entanto, isso é desaconselhável, pois é improvável que sejam exibidos de forma aceitável e sejam difíceis de usar.
Você pode usar metacaracteres de shell , como ASCII e e apóstrofo ASCII. No entanto, isso é inconveniente e exige que, ao construir comandos, você tome um cuidado especial para citar ou escapar desses caracteres.
Você pode usar caracteres de vários bytes usando várias codificações. Cabe ao shell e / ou utilitários interpretar corretamente e exibir caracteres não-ASCII. É aconselhável restringir-se a uma codificação popular como UTF-8 e definir o local apropriado.
Você terá menor número de problemas usando caracteres imprimíveis ASCII, limitando o conjunto de caracteres de pontuação àqueles que não são meta-caracteres do shell e não iniciando um nome com um hífen (ou uma parada - a menos que você quer esconder o arquivo).