ディレクトリとフォルダの違いは何ですか?


106

ほとんどの人は「フォルダ」と「ディレクトリ」という用語を同じ意味で使用します。プログラマーの観点から、違いはありますか?ある場合、それは何ですか?それはOSに依存しますか、それとも広く一般的なコンセンサスはありますか?これは少なくとも違いがあることを示唆しています。


なぜこの質問がSOに属し、だまされ
questions /

しかしprogrammers.stackexchange.comもあります

回答:


91

ウィキペディアの「フォルダーのメタファー」セクションを確認してください。それは述べています:

ファイルシステムの概念であるディレクトリと、それを表すために使用されるグラフィカルユーザーインターフェイスのメタファー(フォルダー)の間には違いがあります。たとえば、Microsoft Windowsは特別なフォルダーの概念を使用して、コンピューターの内容をユーザーに提示するのに役立つ一貫した方法で、ユーザーがWindowsのバージョン間で異なる可能性のある絶対ディレクトリパスを処理する必要をなくします。個別のインストール。...

ドキュメントのコンテナを指す場合は、フォルダという用語がより適切です。ディレクトリという用語は、ドキュメントファイルとフォルダの構造化されたリストがコンピュータに保存される方法を指します。この違いは、ディレクトリへのアクセス方法が原因である可能性があります。Unixシステムでは、/ usr / bin /は通常、コマンドラインコンソールで表示されるときはディレクトリと呼ばれますが、グラフィカルファイルマネージャーからアクセスした場合、ユーザーはフォルダーと呼ぶことがあります。


41

フォルダは、必ずしもディスク上の物理ディレクトリではありません。たとえば、Windowsのプリンターフォルダーやコントロールパネルフォルダーです。

レイモンドチェンは次のように説明しています。

Windows 95はWindows Explorerを導入し、それに伴ってフォルダという用語を導入しました。フォルダとディレクトリの関係は何ですか?

Windows 95がディレクトリの名前をフォルダに変更したと信じている人もいますが、実際にはそれだけではありません。

Windowsエクスプローラーでは、シェル名前空間のコンテナーであるフォルダーを表示できます。ディレクトリはフォルダの1つのタイプです。つまり、ファイルシステムの場所に対応するフォルダです。コントロールパネル、ネットワークコンピュータ、プリンタなど、他の種類のフォルダがあります。これらの他のタイプのフォルダーは、ファイルに対応しないシェル名前空間のオブジェクトを表します。一般的な用法では、仮想フォルダという用語は、ディレクトリではないフォルダを指すために使用されています。つまり、次のオイラー線図があります。

(仮想フォルダ=フォルダ-ディレクトリ)

一般に、シェルの名前空間を操作するコードは、特定のストレージメディアに関連付けられないように、ディレクトリやファイルではなく、フォルダーやアイテムを操作する必要があります。たとえば、Zipファイルのコンテンツは仮想フォルダの形式で公開されるため、ファイル自体を制限するコードはZipファイルに移動できません。


10
手抜きの場合、通常/procディスクにもありません。
n611x007 2013

16

アルバロ・G・ヴィカリオの引用

ほとんどの場合、それらは互換性のある用語です。ディレクトリはファイルシステムの初期の頃から使用されてきた古典的な用語ですが、フォルダはWindowsユーザーにとってより親しみのある一種のわかりやすい名前です。

主な違いは、フォルダーは論理的な概念であり、必ずしも物理ディレクトリにマップされないことです。ディレクトリはファイルシステムオブジェクトです。フォルダーはGUIオブジェクトです。ウィキペディアはそれをこのように説明しています

名前フォルダーは、オフィスで使用され、元々はApple Lisaで使用されていたファイルフォルダーに類似していますが、ほとんどすべての最新のオペレーティングシステムのデスクトップ環境で使用されています。多くの場合、フォルダーは物理ファイルフォルダーに視覚的に似たアイコンで表示されます。

厳密に言うと、ファイルシステムの概念であるディレクトリと、それを表すために使用されるグラフィカルユーザーインターフェイスのメタファ(フォルダ)の間には違いがあります。たとえば、Microsoft Windowsは特別なフォルダーの概念を使用して、コンピューターの内容をユーザーに提示するのに役立つ一貫した方法で、ユーザーがWindowsのバージョン間で異なる可能性のある絶対ディレクトリパスを処理する必要をなくします。個別のインストール。

ドキュメントのコンテナを指す場合は、フォルダという用語がより適切です。ディレクトリという用語は、ドキュメントファイルとフォルダの構造化されたリストがコンピュータに保存される方法を指します。これは、名前、番号、住所のリストが含まれ、実際のドキュメント自体は含まれていない電話帳に相当します。


13
  • ディレクトリはファイルシステムの概念です。GUIでは、ディレクトリはフォルダとして表されます。
  • 例1: Unixシステム。/usr/bin/通常、コマンドラインコンソールで表示されるときはディレクトリと呼ばれますが、グラフィカルファイルマネージャーからアクセスした場合、ユーザーがフォルダーと呼ぶことがあります。
  • 例2:Windowsは(、などのコマンドで)ディレクトリと(GUIで)フォルダの両方を使用します。mkdircd

ディレクトリ:ディレクトリ名は、電話帳に類似しています。

電話帳の画像


フォルダーフォルダーという名前は、オフィスで使用されるファイルフォルダーに類似しています。

Officeフォルダーの画像


類推:

  • フォルダは部屋のようなものです。
  • ディレクトリは、すべての部屋を知っているホテルの管理人のようなものです。

特定のフォルダが必要な場合は、ディレクトリを使用します。特定の部屋が必要な場合は、ホテルの管理人に問い合わせてください。 ソース


4

私は以前、これらの2つの単語の英語の違いを知りませんでした。WindowsレジストリエディターでFolderDirectory、の下に2つのサブキーとを見つけることができましたHKEY_CLASSES_ROOT

レジストリに手動でいくつかの値を作成し、コンテキストメニュー項目の違いを観察するまで、違いを知りませんでした。下にHKEY_CLASSES_ROOT\Folder\shellのみノードを作成するとsystem directory、のような仮想フォルダ(別名)とのようなRecycle Binファイルシステムディレクトリの両方のコンテキストメニューに表示されることがわかりましたC:\Windows

下にHKEY_CLASSES_ROOT\Directory\shellのみノードを作成すると、は、などのファイルシステムディレクトリのコンテキストメニューにのみ表示され、C:\Windows仮想フォルダには表示されません。つまり、@ AntonyWが言ったように、Windowsでは、フォルダー=仮想フォルダー+ファイルシステムディレクトリです。


1

ファイルエクスプローラー(以前はWindowsエクスプローラーと呼ばれていたGUI)に表示されるフォルダーの名前は、それらが表すディレクトリと必ずしも同じではありません。プログラムで仮想ストアではなく、大容量記憶装置上の特定のフォルダーを開こうとしている場合を考えてみます。これは、エクスプローラーに表示された名前に基づいてユーザーが指定したとしましょう。この名前は、ディレクトリの代替データストリーム(ADS)内の情報によって上書きされる可能性があり、プログラムはその実際のパス名でファイルを参照しません。

私が遭遇した2つの例では、ユーザーの指定したパス名をアプリが開けませんでした。これらの例の1つはOneDriveに関連しています。他の例の完全な状況を覚えていません。とにかく、表示名はms-properties:$ DATAという名前のADSに保存されます。

CMD.EXEを使用して、DIR / Rを使用するADSをリストできます。ファイルエクスプローラーの[プロパティ]メニュー項目を使用してそのようなフォルダーの名前を変更すると、このADSの内容が変更され、ファイルエクスプローラーでエンドユーザーに表示される名前は、入力した名前になります。ただし、この手順ではディレクトリの名前は変更されません。


0

あなたのリンクは基本的に技術的な違いを説明しています。ほとんどの場合、人々はそれらを互換的に使用し、彼らが選択するものは、主に彼らがどの環境から来たかに基づいています。

ファイルを変更するアプリケーションのクロスプラットフォーム開発を行わない限り、違いを知る必要はありません。いくつかの異なるファイルシステムタイプで作業する準備ができたらすぐに、それらの違いを知る必要があります。

どのような場合にどの用語を使用するかを人々が知っていると期待しないでください。私はそれらの用語を互換性があると考えています。なぜなら、その違いはあまりにも少ない人々に知られているからです。


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