Existem caracteres inválidos para um nome de arquivo ext3?

9

Quais caracteres são inválidos para um nome de arquivo ext3? Eu imagino que pelo menos /seja um personagem inválido e provavelmente \0. Existe uma lista oficial em algum lugar?

Não sei exatamente onde procurar essas informações. Por favor, diga-me onde as encontrou.

Usuário1
fonte
Uma leitura interessante, embora longa ,: Corrigindo nomes de arquivos Unix / Linux / POSIX .
Pausado até novo aviso.

Respostas:

9

Apenas esses dois.

Na página da wikipedia no ext3 :

Caracteres permitidos nos nomes de arquivos - Todos os bytes, exceto NULL e '/'

marca
fonte
Ah, eu não vi as estatísticas ao lado da página da Wikipedia. Obrigado!
usar o seguinte
3

/ parece permitido, pelo menos no ext3 (supostamente no total, ext, ext2 e ext3 pelo menos, provavelmente também ext4) - tente o seguinte:

f = 'teste / arquivo'; echo "Teste: '$ {f}'"
para c em contato ll rm;
eval "$ {c} '$ {f}'"
feito

Isso criará "test / file", me surpreendeu também ... Ele criará, mostrará com o comando ls e finalmente o removerá com rm

Você pode digitá-lo em uma linha no bash:

$ f = 'teste / arquivo'; para c in touch ll rm; faça avaliação "$ {c} '$ {f}'";

Portanto, parece-me permitido (de forma bizarra) nos nomes de arquivos - provavelmente muitas ferramentas podem ser confundidas com tais ...

robsku
fonte
Arrefecer truque, embora provavelmente mal aconselhado em sistemas de produção :-)
voretaq7
Errr… você tem um diretório chamado 'test'? Isso fará a diferença:touch: cannot touch 'test/file': No such file or directory
MikeyB 19/10/12
Embora útil como uma piada para atrair assistentes.
Magellan
Não basta ter conseguido criar um arquivo chamado "test / file" - seria interessante experimentá-lo com o diretório existente chamado test ... Pode até não causar problemas, afinal, o / no final do nome do diretório não é realmente parte do nome ... Então eu poderia imaginá-los trabalhando juntos ... Parece confuso ... Ou você quis dizer que realmente tentou? :)
robsku