¿Forma parte de algún estándar (por ejemplo, POSIX) que los archivos del sistema deben estar en minúsculas?


29

Mi empresa revende una aplicación cuya marca es mixta, por ejemplo "ApplicationName".

El instalador de la aplicación crea todas las rutas y nombres de archivo en este estándar. Por ejemplo, el directorio principal es /opt/ApplicationName, se llama al archivo init, ApplicationNameasí que tengo que ejecutarlo, service ApplicationName statusetc.

Para mí, esto rompe todas las convenciones razonables y creo que los archivos y directorios deberían estar en minúsculas (hay precedentes en otras aplicaciones como MySQL, cuyos archivos y directorios se llaman mysql, incluso las aplicaciones como Apache y Tomcat eliminan lo anterior letra mayúscula).

Si planteo esto como un informe de error, me gustaría presentar un argumento más fuerte que simplemente "Creo que está mal". Entonces, ¿se dicta en algo como el estándar POSIX que los archivos de sistema como este deberían estar en minúsculas?


9
También puede señalar que es extremadamente molesto para sus clientes, ya que los obligará a usar un botón adicional (shift). Esto puede no parecer un gran problema (OK, no lo es) pero es molesto.
terdon

55
Algunos sistemas de archivos no distinguen entre mayúsculas y minúsculas, valdría la pena señalar un error tipográfico simple (por ejemplo, un script de usuario que hace referencia al archivo en "nombre de aplicación" por error) funcionaría en algunos sistemas pero no en otros, el problema no se resolvería de inmediato y podría ser costoso encontrarlo más tarde. Es menos probable que un "nombre_aplicación" más explícito tenga este problema.
Stefan

11
Otro contraejemplo: todo lo relacionado con X11 generalmente tiene una X mayúscula en su nombre de archivo, por ejemplo / usr / X11R6, /usr/lib/libX11.so, y así sucesivamente.
nomadictype

1
A X le gustaría ser su excepción de tendencia hoy.
StarWeaver

1
@nomadictype Además de ejecutarse en un sistema Unix, el sistema X Windows tiene muy poco que ver con el estándar POSIX de Unix.
Kusalananda

Respuestas:


27

El estándar POSIX tiene una sección con pautas para las utilidades conformes (es decir, "como las escritas específicamente para un sistema local o que son componentes de una aplicación más grande") que dice

  1. Los nombres de las utilidades deben tener entre dos y nueve caracteres, inclusive.
  2. Los nombres de las utilidades deben incluir letras minúsculas (la clasificación de caracteres más baja) y dígitos solo del juego de caracteres portátil.

[ref: 12.2 Pautas de sintaxis de utilidad ]

No me queda claro si el uso de las palabras "debería incluir" realmente significa " solo debe incluir". (El consenso en los comentarios a continuación es que significa "solo debe incluir").

Una aplicación en un sistema Unix que no pretende ser una utilidad de conformidad POSIX puede usar el nombre que desee. Si se hace pretensión de ser una utilidad conformes con POSIX que forma parte de las utilidades de shell POSIX , el texto que sigue las directrices de la sección 12.2 dice que "deben" significado cambia a "deberán".

No hay pautas similares con respecto a los nombres de directorio hasta donde yo sé. macOS (que es un producto certificado UNIX 03 cuando se ejecuta en una computadora Mac basada en Intel) se utiliza /Userscomo prefijo para los directorios de inicio de los usuarios, por ejemplo, así como una serie de otros nombres de directorio de mayúsculas y minúsculas.


3
No creo que realmente afirmen ser compatibles con POSIX en ningún lado. Curiosamente, el nombre de la aplicación tiene 10 caracteres de longitud, por lo que también fallan en ese frente. Por cierto, la forma en que leí el punto 2 es "solo debe incluir minúsculas y dígitos - Creo que el" solo "final cubre toda la cláusula. Tal vez una pregunta para english.stackexchange.com :)
Darren

3
XBD define shouldlo siguiente: "Para una implementación que cumpla con IEEE Std 1003.1-XXXX, describe una característica o comportamiento que se recomienda pero no obligatorio. Una aplicación no debe confiar en la existencia de la característica o comportamiento. Una aplicación que se basa en tal no se puede asegurar que una característica o comportamiento sea portátil en implementaciones conformes. Para una aplicación, describe una característica o comportamiento que se recomienda como práctica de programación para una portabilidad óptima ".
fpmurphy

55
¿El nombre de una aplicación tiene algo que ver con el nombre de las utilidades del sistema ?
Matti Virkkunen

1
@IlmariKaronen Correcto. Las pautas son para implementar las utilidades descritas en el estándar mismo.
Kusalananda

3
Hay un "único" en la oración que citó. Se presenta en un punto incómodo de la frase, probablemente debido a la edición del comité, pero aún tiene el mismo efecto.
hobbs

44

No, los nombres en minúsculas no se especifican para los directorios de instalación de paquetes de software.

De hecho, históricamente, los paquetes de software instalados /optcomenzaron con el símbolo de teletipo bursátil de la compañía proveedora del paquete, como SUNWSun Microsystems o ORCLOracle.

Entonces, paquetes como el sistema de archivos QFS de Sun se instalarían en un directorio llamado algo así /opt/SUNWqfs.


77
TIL este nuevo titbit sobre tickers de valores. Votado Gracias.
Darren

2
Creo que la convención solo se aplica a SunOS / Solaris.
fpmurphy

3
@ fpmurphy1 Quizás. Pero dado cómo Sun trató el cumplimiento de POSIX, dudo que el esquema de nombres que eligieron violaría cualquier parte del estándar. Tampoco pensaría que Sun hubiera tenido mucho éxito al convencer a Oracle de que usara cualquier esquema de nombres.
Andrew Henle

1
@AndrewHenle, el esquema de nombres de SMI para SunOS / Solaris se ajustó a los estándares y especificaciones relevantes. Tanto POSIX como Single Unix Specification se definen shouldesencialmenteit is recommended
fpmurphy

los nombres en mayúscula se sienten valientes y adoptados de un mainframe :)
rackandboneman

4

Además de las pautas de POSIX, dijo, creo que eso podría tener aún más peso en la tradición del usuario. Los nombres de casos como "ApplicationName" se hicieron populares con la explosión de Wikis, acostumbrando a algunas personas (como yo) a usar mayúsculas en lugar de guiones, o peor, espacios. Pero esto fue algunos años después de que Linux y SO similares se volvieran populares, con una larga tradición de Unix detrás.

Esta tradición ha sido (es) siempre la simplicidad, no solo para seguir las reglas que Kusalananda señaló, incluso abreviando palabras de cuatro a seis caracteres solamente (por ejemplo, /usrpara "usuario", o /srvpara "servir" o /mntpara "montado") y obviamente significados más largos ( /sbinpara "binarios de superusuario". En esta tradición, mayúsculas, forzarlo a presionar la tecla Shift, y quizás accidentalmente también la tecla Bloq Mayús, es simplemente malvado.

En cierta medida, esto es sorprendente porque Unixes ha sido capaz de escribir durante mucho tiempo nombres de archivo largos que distinguen entre mayúsculas y minúsculas, mientras que, por el contrario, MS-DOS / Windows se limitó a nombres de archivo cortos que no distinguen entre mayúsculas y minúsculas (ocho caracteres más tres para la extensión) pero se perdieron rápidamente esta simplicidad ("Archivos de programa", "Mis documentos", etc.) cuando Windows 95 supera esta limitación.

Sin embargo, hoy hay algunas excepciones como el NetworkManagerdemonio y probablemente veremos más WikiWords en el futuro. Pero todavía odiamos el mouse y escribimos en el terminal nombres largos que solo puede terminar con la TabTabautocompletación. O alguien ver alguna ventaja de cambiar el nombre vimde VisualImproved?


3
/usrno es una abreviatura de "usuario". Es la abreviatura de "recurso del sistema Unix"
fpmurphy

1
@ fpmurphy1 que huele a un backronym.
hobbs

3
@ fpmurphy1 /usroriginalmente era el directorio que contenía los directorios principales de los usuarios (como /homehoy). Estoy de acuerdo con hobbs.
Fran

2
En Windows, My Computerno es, y nunca ha sido, un directorio. Es puramente una construcción de concha; puede ilustrar esto considerando cómo, en un símbolo del sistema o en una aplicación Win16 de estilo antiguo, navegaría a él. Program Fileses un desastre propio, con su nombre localizado; Me encontré con ese problema más recientemente, literalmente ayer , donde un software asumió el nombre en inglés de Program Filespero el nombre real tal como se usaba estaba localizado en el sistema. Probablemente una de las peores tonterías de Microsoft en Windows 95.
un CVn el

@hobbs. @Fran Simplemente haga un Internet para Y /usry Unix System Resources, sí, en las primeras versiones de Unix, los directorios de inicio de los usuarios también vivían bajo `/ usr '
fpmurphy el
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.