¿Hay caracteres no válidos para un nombre de archivo ext3?

9

¿Qué caracteres no son válidos para un nombre de archivo ext3? Me imagino que al menos /es un personaje no válido y probablemente \0. ¿Hay una lista oficial en alguna parte?

No estoy exactamente seguro de dónde buscar esta información, así que dígame dónde la encontró.

Usuario1
fuente
Una lectura interesante, aunque larga ,: la fijación de nombres de archivo Unix / Linux / POSIX .
Pausado hasta nuevo aviso.

Respuestas:

9

Solo esos dos.

Desde la página de Wikipedia en ext3 :

Caracteres permitidos en los nombres de archivo: todos los bytes excepto NULL y '/'

marca
fuente
Ah, no vi las estadísticas al costado de la página de wikipedia. ¡Gracias!
Usuario1
3

/ parece estar permitido, al menos en ext3 (supuestamente en todo, ext, ext2 y ext3 al menos, probablemente también ext4) - solo intente esto:

f = 'prueba / archivo'; echo "Prueba: '$ {f}'"
para c en contacto ll rm; hacer
eval "$ {c} '$ {f}'"
hecho

Eso creará "prueba / archivo", también me sorprendió ... Lo creará, lo mostrará con el comando ls y finalmente lo eliminará con rm

Puede escribirlo en una línea en bash:

$ f = 'prueba / archivo'; para c en contacto ll rm; evalúe "$ {c} '$ {f}'"; hecho

Entonces / parece estar (bizerrely) permitido en los nombres de archivo; probablemente, muchas herramientas pueden confundirse con ...

robsku
fuente
Buen truco, aunque probablemente desaconsejado en los sistemas de producción :-)
voretaq7
Errr ... ¿tienes un directorio llamado 'prueba'? Eso hará la diferencia:touch: cannot touch 'test/file': No such file or directory
MikeyB
Aunque útil como una broma para atraer a los asistentes.
Magellan
No solo logró crear un archivo llamado "prueba / archivo" - sería interesante probarlo con el directorio existente llamado prueba ... Puede que ni siquiera cause problemas, después de todo, el / al final del nombre del directorio no es realmente parte de su nombre ... Así que me imagino que realmente trabajan juntos ... Sin embargo, parecerá confuso ... ¿O quisiste decir que realmente lo intentaste? :)
robsku