web-dev-qa-db-ja.com

システムファイルは小文字である必要があるという標準(POSIXなど)の一部ですか?

私の会社は、ブランド名が大文字と小文字が混在するアプリケーション( "ApplicationName"など)を再販しています。

アプリケーションのインストーラーは、この標準ですべてのパスとファイル名を作成します。例えば。メインディレクトリは/opt/ApplicationNameで、initファイルはApplicationNameと呼ばれるため、service ApplicationName statusなどを実行する必要があります。

私にとって、これはすべての賢明な慣習に違反し、ファイルとディレクトリはすべて小文字である必要があると感じています(MySQLなどの他のアプリケーションではファイルとディレクトリがすべてmysqlと呼ばれています。 Tomcatは、前の大文字を取り除きます)。

これをバグレポートとして提起する場合、単に「間違っていると思う」よりも強力な議論を提起したいと思います。それでは、POSIX標準のようなものでは、このようなシステムファイルは小文字である必要があると規定されていますか?

29
Darren

POSIX標準には、準拠ユーティリティのガイドラインが記載されたセクションがあります(つまり、「ローカルシステムに固有に記述されたものや、より大きなアプリケーションのコンポーネントであるものなど」 ")言う

  1. ユーティリティ名は2〜9文字である必要があります。
  2. ユーティリティ名には、小文字(小文字の分類)およびポータブル文字セットの数字のみを含める必要があります。

[参照: 12.2ユーティリティ構文ガイドライン ]

「含むべき」という言葉の使用が本当に「含まれるべきであるonly」を意味するかどうかは、私には不明確です。 (以下のコメントのコンセンサスは、「含めるだけでよい」という意味です)。

POSIX準拠のユーティリティであると主張していないUnixシステム上のアプリケーションは、それ以外の場合は任意の名前を使用できます。もしdoesがPOSIXシェルユーティリティの一部であるPOSIX準拠ユーティリティであると主張する場合、セクション12.2のガイドラインの後のテキストは、「すべきである」が「あるべきである」に意味を変えると述べています。

私が知る限り、ディレクトリ名に関して同様のガイドラインはありません。 macOS(これは 認定されたUNIX 03製品 であり、IntelベースのMacコンピューターで実行されている場合)は/Usersは、たとえば、ユーザーのホームディレクトリのプレフィックスとして、およびその他の大文字と小文字が混在するいくつかのディレクトリ名です。

27
Kusalananda

いいえ、ソフトウェアパッケージのインストールディレクトリに小文字の名前は指定されていません。

実際、歴史的に/optにインストールされたソフトウェアパッケージは、Sun MicrosystemsのSUNWやOracleのORCLなど、パッケージを提供する会社のすべて大文字のティッカーシンボルで始まりました。

したがって、SunのQFSファイルシステムなどのパッケージは、/opt/SUNWqfsのような名前のディレクトリにインストールされます。

44
Andrew Henle

POSIXガイドラインのほかにも、ユーザーの伝統にさらに重みを与えることができると思います。 "ApplicationName"としてのケース名はWikiの爆発的な普及で人気が高まり、一部の人々(私のような)はハイフンの代わりに大文字、さらにはスペースを使用するようになりました。しかし、これはLinuxや類似のOSが普及し、非常に長いUnixの伝統が後になってから数年後のことです。

この伝統は、常に単純であり、Kusalanandaが指摘したルールに従うだけでなく、4〜6文字の単語のみを省略したものです(例:/usr「ユーザー」の場合、または/srv「サーブ」または/mntfor "mounted")と明らかに長い意味(/sbin「スーパーユーザーバイナリ」。この伝統では、大文字で、Shiftキーを押すように強制しますが、偶然にもCaps Lockキーを押すのは、単に邪悪です。

Unixは長い間大文字と小文字を区別する長いファイル名を書き込むことができたので、これはある程度驚くべきことですが、対照的に、MS-DOS/Windowsは大文字と小文字を区別しない短いファイル名(8文字+拡張子として3文字)に制限されていましたが、すぐに失われましたWindows 95がこの制限を超えた場合のこの単純さ(「プログラムファイル」、「マイドキュメント」など)。

それにもかかわらず、今日はNetworkManagerデーモンのようないくつかの例外があり、おそらく将来、より多くのWikiWordsが見られるでしょう。しかし、私たちはまだマウスが嫌いで、ターミナルの長い名前で書いてください。 TabTab オートコンプリート。または、誰かがvimVisualImprovedに名前変更する利点を見つけましたか?

4
Fran