Alguien que conozco expresó su irritación hoy con respecto a aquellos de nosotros que tendemos a no usar espacios en nuestros nombres de archivos, por ejemplo NamingThingsLikeThis.txt
, a pesar de la mayoría de los sistemas operativos modernos que admiten espacios en los nombres de archivos.
¿Hay razones técnicas por las que todavía es común ver nombres de archivos sin espacios (apropiados)? Si es así, ¿cuáles son estas razones técnicas por las que se evitan o desalientan los espacios en los nombres de archivo, y en qué circunstancias son relevantes?
La razón más obvia en la que puedo pensar, y por qué normalmente la evito, son las comillas adicionales que se requieren en la línea de comando cuando se trata de dichos archivos. ¿Hay alguna otra razón técnica importante?
fuente
Respuestas:
Los caracteres de espacios en blanco en los nombres de archivo pueden ser un verdadero dolor real en el proverbial en muchos contextos en la línea de comandos y en los scripts, donde debe tener cuidado para asegurarse de que se escapen correctamente, por lo que no se ve como separadores de los comandos que está corriendo.
Es más seguro no tenerlos allí, incluso si está seguro de que el archivo / dir / lo que sea nunca se usará en ese contexto.
Eso y los viejos hábitos tardan en morir.
fuente
'\n'
) en sus nombres. (Los sistemas tipo Unix realmente permiten esto; Windows generalmente, o al menos lo dificulta).Además de las otras respuestas sobre la línea de comandos y los viejos hábitos, también hay muchos protocolos de red que requieren un cuidado especial cuando se trata de nombres de archivos que contienen espacios.
(Si alguna vez intentó descargar "Product List.pdf" de un sitio web y terminó con un archivo llamado "Producto", esto lo mordió porque el programador del otro lado no sabía o no podía no descubra las reglas de cotización para el encabezado http Content-Disposition).
fuente
Muchas de las razones son históricas. Eso no significa que no tengan sentido hoy.
Problemas de portabilidad
Al nombrar un archivo, es posible que también deba considerar cómo otros sistemas (de archivos) tratarán ese nombre de archivo. Un carácter en un nombre de archivo puede estar bien para su sistema, pero puede ser un problema para otro sistema.
Por lo tanto, siempre que haya la más mínima posibilidad de que desee acceder fácilmente al archivo desde un sistema anterior, solo elegiría un carácter seguro . Esto puede incluir arrancar en un antiguo sistema de recuperación que mantuvo o el temor de que las versiones recientes de Windows todavía estén basadas de alguna manera en MS-DOS.
Longitud
Un sistema de archivos puede limitar la longitud que puede tener un archivo. Esto fue aún más grave durante los días en que MS-DOS se limitaba a 8.3 nombres de archivo . Por lo tanto, omitir espacios le permitió poner caracteres más significativos en el nombre.
Varios otros sistemas de archivos también definieron límites estrictos en la longitud de su nombre de archivo. Wikipedia tiene una tabla en el artículo sobre la comparación del sistema de archivos para aquellos que quieren los detalles.
Personajes reservados
MS-DOS también definió el carácter de espacio como un carácter reservado. Esto se debe al hecho de que el carácter de espacio se utilizó para rellenar en el FAT . Además, MS-DOS no proporcionó un sistema de escape en el shell.
Interpretación de línea de comando
La mayoría de las líneas de comando que conozco utilizan el carácter de espacio como delimitador de parámetros . Al descuidar escapar correctamente de un nombre de archivo, puede tener consecuencias nefastas, ya que partes del nombre de archivo pueden interpretarse como parámetros para la aplicación que desea llamar.
Considere la diferencia entre
y
El artículo de WikiPedia vinculado anteriormente incluso señala la ambigüedad introducida por faltar para escapar correctamente de un comando:
Localizadores uniformes de recursos (URL)
Cuando se trata de describir la ubicación de un archivo, usando una URL, se deben escapar espacios.
Fuente: RFC1738
Por lo tanto, un espacio tiene que ser reemplazado por un
%20
lugar. Esto hace que la parte del nombre de archivo de la URL sea menos legible y, por lo tanto, hace que las personas lo eviten en primer lugar.fuente
Los espacios se codifican o se convierten
%20
en nombres de archivos en la web, lo que puede dificultar la administración de los activos de un sitio.Tener
Image 1.png
yImage%201.png
es confuso. Es más fácil de usarImage001.png
en su lugar.Esto realmente cae en la misma categoría que las secuencias de escape para la línea de comandos.
fuente
A veces, los espacios pueden presentar un problema cuando se trabaja en la línea de comandos, o cuando se usan sistemas operativos más antiguos, o al escribir programas que se compilarán en diferentes sistemas operativos, o cuando ... hay muchas razones que pueden presentar problemas, y no lo hago ' Realmente siento que es un problema escribir el archivo como: file-without-blanks.txt o file_without_blanks.txt . Prefiero el guión porque el guión bajo a veces puede volverse invisible cuando se trata, por ejemplo, de una fuente subrayada.
Pero sobre todo, es una cuestión de costumbre de la vejez. Lo cual no me siento que hay suficientes pro razones para abandonar.
Una nota adicional, posiblemente no relacionada, pero sin embargo la pondré aquí. Las personas que nombran sus archivos con espacios generalmente no piensan mucho en eso; los que a menudo no saben un poco por qué es bueno evitarlos en los nombres de archivo.
Y, todos podemos estar de acuerdo, no hay nada peor que un archivo con el nombre "Estimado señor o señora, le escribo esta carta para informarle de yo.doc".
No solo espacios: la longitud del archivo también cuenta para algo, y en mi humilde opinión, no debería ser más largo que, digamos, 30 caracteres. Los nombres largos de archivos con espacios en el interior también son una bendición cuando se graban CD, DVD y otros que deben leerse en sistemas operativos más antiguos y entre las plataformas Win y * nix.
fuente