「。」だった理由 現在のディレクトリと親ディレクトリの「..」を表すために選択されていますか?


32

この質問を読んだ後、ホームディレクトリを表すために「〜」が選択されたのはなぜですか?、私の頭に浮かぶ次の明白な質問は、なぜ「。」「..」は、現在のディレクトリと親ディレクトリを表すために使用されました。

今ではとても直感的に見えますが、特別な理由はありますか?


10
質問がされていることをSOに尋ね、答え
ステファンChazelas

回答:


16

チルダの質問と同じくらい面白い答えを見つけられるとは思いません!

私はそこにいませんでしたが、..は省略記号(...)のようなもので、のような文脈では意味がありますcd ../../../there。また、特にチルダケースの古いターミナルキーボードを見ると、この目的に適した文字は多くありません。にシフトする必要もありません.。それは完璧だ。

ドットプレフィックスが隠しファイルに使用されるという事実は、別の理由かもしれません。隠しファイルは、次のようなツールがデフォルトで表示されていないlsので、どちらも本質的に冗長にされていない、...。他のファイルと一緒にそれらを検討しても意味がないという意味で冗長です-それ以外の場合は確かに有用です。

結局のところ、私はそれを後方に持っているかもしれません... ウィキペディアから:

ファイル名の前に「。」が付くという概念 非表示にする必要があるのは、Unixの初期のソフトウェアバグの結果です。特別な「。」ファイルシステムに「..」ディレクトリエントリが追加されたため、lsコマンドでそれらを表示しないことが決定されました。ただし、lsプログラムは、「。」という名前のファイルだけでなく、「。」で始まる名前のファイルを除外するように誤って作成されました。または「..」。

これは、プログラミング時に役立つことが判明しています。システムに含まれているため。および.. readdir()タイプコマンド(およびシェルグロブ)に応答して、それらと無視ファイルを無視することも同じ方法で実現できます。

その使用価値についての別の意見は、ウィキペディアの引用のリファレンスにあります。もちろん、ストーリー全体が外見的である可能性があります ...たとえば、デニス・リッチーが最初のキャラクターをチェックするだけでいいと思ったのは少し難しいです。

私は著者に反対します。隠された設定ファイルを普遍的な接頭辞を与えるよりも自分のディレクトリに置く方が良いでしょう。プレフィックスははるかに柔軟で、.gitignoreやなどのツリー内ディレクティブを許可し.htaccessます。-辞書順でソートされたときのファイルはソートも一緒に表示されていることを証人ので、おそらくこれは、すべての後に目的にありました


2

stackoverflowの@Panos 'とほぼ同じ答え:

要するに、それはユーザーが手作業で作成した(dおよびirectoryおよびirectoryのirectory)から進化したものです。なった、およびそれらとによって最初に作成されたユーティリティ(ディレクトリをリンク後のsetuidは、もはや単なるユーザーによって許可された)以降のことで システムコール。dddddd...mkdirmkdir

ケントンプソン(1989-09-06)インタビューからの抜粋:

MSM:しかし、ユーザーにとっては、ディレクトリの階層とほぼ同じに見えます。

トンプソン:いいえ、最初のものはDGでした。実際、それは非周期的でさえありませんでした。UNIXファイルシステムを理解している場合、それは...システム上のすべてのファイルの定義であるIリストがありました。そして、それらのファイルのいくつかは、名前とI番号を含むディレクトリでした。そこにそれを木に拘束するものは何もありません。そのため、実際には階層的ではなく、まったくありませんでした。

MSM:なるほど。

トンプソン:そして、私たちはそれを木に制限しませんでした。さまざまなトポロジーを試していました。私たちがやったことは、具体的になり、実際にそのシステムから慣習によってもたらされたトポロジーであったトポロジーを強制することです。...ディレクトリを作成するたびに、慣例により、ディレクトリと呼ばれる別のディレクトリ-ディレクトリ、ddに配置します。その名前はddであり、すべてのユーザーディレクトリと実際には他のほとんどのディレクトリ、ユーザーは独自のディレクトリシステムを維持し、ddへのポインタを持ち、ddはドットドットに短縮されました。、およびddはディレクトリ-ディレクトリ用でした。このスパゲッティボウルを管理するために、システム内の他のすべてのディレクトリにアクセスできる場所に戻りました。つまり、さまざまな形式のこの凝灰岩を意味します。これは、ディレクトリとファイルのランダムなセットのこのDG実装における厳密な慣習であり、私たちが維持する類型学に追い込まれました。ファイルシステムやプログラムなどのチェック、スパゲッティボウルのディレクトリのロック、ばらばらなものの発見などを書き始めたとき、何かを切り離し、それを取り戻せないことを意味します。これらの問題は乗り越えられないほど近くなったため、次の実装では、それよりも強力な類型を強制しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.