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


29

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

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

私にとって、これはすべての賢明な慣習を破り、ファイルとディレクトリはすべて小文字である必要があると感じています(ファイルやディレクトリがすべて呼び出されるMySQLなどの他のアプリケーションでは先例がありmysql、ApacheやTomcatのようなアプリケーションでも前のものは廃止されます大文字)。

これをバグ報告として提起する場合、「間違っていると思う」だけでなく、より強力な議論をしたいと思います。それで、POSIX標準のようなもので、このようなシステムファイルは小文字でなければならないと言われていますか?


9
また、顧客に追加のボタン(シフト)の使用を強いることになるため、顧客にとって非常に迷惑なことであることを指摘することもできます。これは大したことではないように見えるかもしれませんが(そうではありません)、迷惑です。
テルドン

5
一部のファイルシステムは大文字と小文字を区別しません。単純なタイプミス(たとえば、「applicationname」のファイルを誤って参照するユーザースクリプト)は、一部のシステムで機能しますが、他のシステムでは機能しません。後で見つけるには費用がかかる可能性があります。より明示的な「application_name」は、この問題が発生する可能性が低くなります。
ステファン

11
別の反例:X11に関連するものには、通常、ファイル名に大文字のXが含まれます(例:/usr/X11R6、/usr/lib/libX11.soなど)。
遊牧民タイプ

1
Xは今日、トレンドを証明する例外になりたいと思っています。
-StarWeaver

1
@nomadictype Unixシステム上での実行は別として、X WindowsシステムはUnix POSIX標準とはほとんど関係がありません。
クサラナナンダ

回答:


27

POSIX規格には、適合ユーティリティ(つまり、「ローカルシステムに特化して書かれたものや、より大きなアプリケーションのコンポーネントであるもの」など)のガイドラインに関するセクションがあります。

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

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

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

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

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


3
私は彼らが実際にどこでもPOSIXに準拠していると主張しているとは思わない。興味深いことに、アプリケーション名の長さは10文字なので、その面でも失敗します。ところで、私はポイント2を読む方法は、「それが唯一の小文字と数字を含める必要があります-私は最終的に考える『です。のみ』のカバーに全体の句を多分english.stackexchange.com :)のための質問は
ダレン・

3
XBDはshould次のように定義しています。「IEEE Std 1003.1-XXXXに準拠する実装の場合、推奨されるが必須ではない機能または動作について説明します。アプリケーションは、機能または動作の存在に依存してはなりません。機能または動作は、準拠する実装間で移植可能であることを保証できません。アプリケーションの場合、最適な移植性のために推奨されるプログラミング手法である機能または動作を説明してください。
fpmurphy

5
命名ないアプリケーションは、システムの命名を行うには何も持っているユーティリティ
マッティバークネン

1
@IlmariKaronen正しい。ガイドラインは、標準自体で説明されているユーティリティを実装するためのものです。
クサラナナンダ

3
引用した文に「のみ」があります。おそらく委員会の編集が原因で、フレーズの厄介な点に来ますが、それでも同じ効果があります。
ホッブズ

44

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

実際、インストールされたソフトウェアパッケージ/optは、SUNWSun MicrosystemsやORCLOracle などのように、パッケージを提供する会社の全資本の株式ティッカーシンボルから始まります。

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


7
株式銘柄に関するこの新しいtitbitをTILします。賛成。ありがとう。
ダレン

2
この規約はSunOS / Solarisにのみ適用されると思います。
fpmurphy

3
@ fpmurphy1おそらく。しかし、SunがPOSIX準拠をどのように扱ったかを考えると、彼らが選んだネーミングスキームが規格の一部に違反することは疑わしい。また、SunがOracleに任意の命名スキームを使用するよう説得することに成功したとは思いません。
アンドリューヘンレ

1
@ AndrewHenle、SunOS / SolarisのSMI命名スキームは、関連する標準と仕様に準拠していました。POSIXとSingle Unixの両方の仕様はshould、本質的にit is recommended
-fpmurphy

大文字の名前はザラザラした感じで、メインフレームから採用されています:)
rackandboneman

4

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

この伝統は、Kusalanandaが指摘した規則に従うだけでなく、常にシンプルであり、4〜6文字のみの単語(たとえば、/usr「ユーザー」、/srv「サーブ」、または/mnt「マウント」)を省略します。明らかに長い意味(/sbin「スーパーユーザーバイナリ」の場合。この伝統では、大文字で、Shiftキーを押すことを強制します。また、誤ってCaps Lockキーを押すことは、単に悪です。

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

それにもかかわらず、今日はNetworkManagerデーモンのようないくつかの例外があり、おそらく将来的にもっと多くのウィキワードが出てくるでしょう。しかし、私たちはまだマウスが嫌いで、TabTabオートコンプリートでのみ終了できる長い名前をターミナルに書き込みます。または誰かがいくつかの利点が名前vimを変更するのを見VisualImprovedますか?


3
/usr「ユーザー」の省略形ではありません。「Unixシステムリソース」の略記
fpmurphy

1
@ fpmurphy1は、逆称のような匂いがします。
ホッブズ

3
@ fpmurphy1は/usr元々、ユーザーのホームディレクトリを含むディレクトリでした(/home今日のような)。私は趣味に同意します。
フラン

2
Windowsでは、My Computerディレクトリではなく、ディレクトリでもありません。純粋にシェル構造です。コマンドプロンプトまたは古いスタイルのWin16アプリケーションでどのようにナビゲートするかを検討することで、これを説明できます。Program Filesローカライズされた名前を持つ独自の混乱です。私は最近、昨日文字通りその問題に遭遇しました。そこでは、ソフトウェアの一部が英語の名前を想定してProgram Filesいましたが、実際の名前はシステムにローカライズされていました。おそらく、Windowsの95で、Microsoftの悪い方goofsの1
からCVn

@hobbs。@Franだけではのためにインターネットを行う/usrと、Unix System Resources 「そして、はい、Unixの初期のバージョンでは、ユーザーのホームディレクトリは`の/ usrの下に住んでいた
fpmurphy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.