Faz parte de algum padrão (por exemplo, POSIX) que os arquivos do sistema estejam em letras minúsculas?

Faz parte de algum padrão (por exemplo, POSIX) que os arquivos do sistema estejam em letras minúsculas?

Minha empresa revende um aplicativo cuja marca é mista, por exemplo "ApplicationName".

O instalador do aplicativo cria todos os caminhos e nomes de arquivos neste padrão. Por exemplo, o diretório principal é /opt/ApplicationName, o arquivo init é chamado, ApplicationNameentão tenho que executar service ApplicationName statuse assim por diante.

Para mim, isso quebra todas as convenções sensatas e sinto que os arquivos e diretórios deveriam estar todos em letras minúsculas (há precedentes em outros aplicativos como o MySQL, cujos arquivos e diretórios são todos chamados mysql, até mesmo aplicativos como Apache e Tomcat eliminam o precedente Letra maiúscula).

Se eu abordar isso como um relatório de bug, gostaria de apresentar um argumento mais forte do que apenas "acho que está errado". Então, é ditado em algo como o padrão POSIX que arquivos de sistema como este devem estar em letras minúsculas?

Responder1

Não, nomes em minúsculas não são especificados para diretórios de instalação de pacotes de software.

Na verdade, historicamente, os pacotes de software instalados /optcomeçavam com o símbolo da bolsa em letras maiúsculas da empresa que fornecia o pacote, como SUNWpara Sun Microsystems ou ORCLOracle.

Portanto, pacotes como o sistema de arquivos QFS da Sun seriam instalados em um diretório chamado algo como /opt/SUNWqfs.

Responder2

O padrão POSIX possui uma seção com diretrizes parautilitários em conformidade(ou seja, "como aqueles escritos especificamente para um sistema local ou que são componentes de uma aplicação maior") que diz

  1. Os nomes dos utilitários devem ter entre dois e nove caracteres, inclusive.
  2. Os nomes dos utilitários devem incluir letras minúsculas (a classificação de caracteres inferiores) e dígitos apenas do conjunto de caracteres portáteis.

[ref:12.2 Diretrizes de Sintaxe de Utilitários]

Não está claro para mim se o uso das palavras “deveria incluir” realmente significa “deveriaapenasincluir". (O consenso nos comentários abaixo é que significa "deve apenas incluir").

Um aplicativo em um sistema Unix que não afirma ser um utilitário compatível com POSIX pode usar o nome que desejar. Se issofazafirmam ser um utilitário compatível com POSIXque faz parte dos utilitários shell POSIX, o texto após as diretrizes na seção 12.2 diz que “deveria” muda de significado para “deverá”.

Até onde eu sei, não há diretrizes semelhantes sobre nomes de diretórios. macOS (que éum produto UNIX 03 certificadoquando executado em um computador Mac baseado em Intel) usa /Userscomo prefixo para os diretórios pessoais do usuário, por exemplo, bem como vários outros nomes de diretório com letras maiúsculas e minúsculas.

Responder3

Além das diretrizes POSIX ditas, acho que isso poderia ter ainda mais peso na tradição do usuário. Nomes de casos como "ApplicationName" tornaram-se populares com a explosão dos Wikis, acostumando algumas pessoas (como eu) a usar letras maiúsculas em vez de hífens, ou pior, espaços. Mas isso aconteceu alguns anos depois que o Linux e sistemas operacionais similares se tornaram populares, com uma longa tradição Unix por trás.

Esta tradição sempre foi (é) a simplicidade, não só de seguir as regras que Kusalananda apontava, mesmo abreviando palavras de quatro a seis caracteres apenas (ex., /usrpara "utilizador", ou /srvpara "servir" ou /mntpara "montado") e significados obviamente mais longos ( /sbinpara "binários de superusuário". Nesta tradição, letras maiúsculas, forçá-lo a pressionar a tecla Shift, e talvez acidentalmente também a tecla Caps Lock, é simplesmente mau.

Até certo ponto, isso é surpreendente porque o Unixes tem sido há muito tempo capaz de escrever nomes de arquivos longos que diferenciam maiúsculas de minúsculas, enquanto, em contraste, o MS-DOS/Windows estava limitado a nomes de arquivos curtos que não diferenciam maiúsculas de minúsculas (oito caracteres mais três para a extensão), mas rapidamente perdidos. esta simplicidade ("Arquivos de Programas","Meus Documentos", etc.) quando o Windows 95 ultrapassa esta limitação.

No entanto, hoje existem algumas exceções como o NetworkManagerdaemon e provavelmente veremos mais WikiWords no futuro. Mas ainda odiamos o mouse e escrevemos nomes longos no terminal que só podem ser finalizados com o TabTabpreenchimento automático. Ou alguém vê alguma vantagem em renomear vimpara VisualImproved?

informação relacionada