¿Cuánto tiempo pueden durar los nombres de archivo?


17

¿Cuánto tiempo pueden durar los nombres de archivos y carpetas en Ubuntu Linux y qué caracteres están permitidos en los nombres de archivos y carpetas en Ubuntu Linux?

Respuestas:


21

Los nombres de archivo en Linux tenían 14 bytes de longitud en la versión anterior de Unix. Pero el sistema Linux moderno tiene 255 bytes para los nombres de archivo.

Como un carácter requiere 1 byte, la longitud se convierte en 255 caracteres. También las carpetas se tratan como archivos en el sistema Linux

Vea este enlace para más información


2
Los nombres de archivo son utf-8, por lo que su longitud es variable: un byte para cualquier carácter ascii. 2 o más para cualquier otro personaje, por ejemplo, £, ★, ≠, ☺, ¡, ¿, á,…, etc.
ctrl-alt-delor

1
Si el nombre de archivo está en codificación UTF, la cantidad de caracteres disminuye con un mayor número de codificación UTF. Ver serverfault.com/a/542452/363611 y el comentario debajo de esa respuesta
Sergiy Kolodyazhnyy

4

No estoy seguro de cuál puede ser la longitud máxima del nombre del archivo (para ext4), pero depende más del sistema de archivos que el propio Linux. En FAT32, creo que son 255 caracteres. Probablemente nunca necesites un nombre de archivo tan largo.

En cuanto a los caracteres permitidos, cualquier valor de byte está permitido en el sistema de archivos ext4, excepto el byte NULL (y /, como ese es el separador de directorio 1 ). Sin embargo, debe limitar los nombres de sus archivos al juego de caracteres UTF-8, para obtener la más amplia gama de compatibilidad entre aplicaciones y dispositivos.

1. Como se indica en el manual de glibc , "cualquier carácter, excepto el carácter nulo, está permitido en una cadena de nombre de archivo", pero una /cadena de nombre de archivo separa el nombre de un archivo o carpeta del nombre de su padre.


Diría límite a az, AZ y números. Agregar números no alfabéticos es pedir encontrar errores de análisis de URL
RobotHumans

@ aking1012 Deseo usar '.' y '@' no es aconsejable.
Gaurav Agarwal

'.' Por supuesto está bien. No he visto a @ ir lanudo, pero supongo que podría en algún caso de esquina. Lo que los analizadores usan como delimitadores y no se escapan correctamente es más a lo que me refería - ejemplos: espacio, /, ", ', etc.
RobotHumans

1
El período .se usa ampliamente en el propio sistema, por lo que no es un problema. También @debería estar bien, veo servidores de correo electrónico (p exim. Ej. ) Con un directorio por cuenta que contiene @y no tengo ningún problema.
Marios Zindilis

1
usar una @ está bien. 2 comentarios: SI usas algo especial, siempre puedes escapar del personaje. También tenga en cuenta que a veces se usa un char como divisor: por ejemplo, ssh lo usa para separar el usuario y el sistema: por ejemplo, esto user@system:/dir/dir@dir/puede ser dudoso y no entendido).
Rinzwind
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.