web-dev-qa-db-ja.com

ディレクトリ内のアイテムの一般用語はありますか?

常に「ファイル」と「(サブ)ディレクトリ/フォルダ」を別々に言及する必要があるのではなく、ディレクトリ内のすべてを包含する標準的なコンピュータ用語があるかどうか、私は興味があります。つまり、dir_1内のすべてのtermsをループ処理できます。

編集:わかりやすくするために、私は例文のように、単数形の用語を探しています。

27
Mason

POSIX readdir のドキュメントでは、Wordentryを使用しています。

readdir()関数は、引数dirp、ディレクトリストリームを次のエントリに配置します。ディレクトリストリームの最後に到達すると、nullポインタを返します。 <dirent.h>ヘッダーで定義されている構造direntは、ディレクトリエントリを記述しています。

52
D Krueger

ファイル。少なくともPOSIX準拠のシステムでは。

3.164ファイル

書き込み、読み取り、またはその両方が可能なオブジェクト。ファイルには、アクセス許可やタイプなど、特定の属性があります。ファイルタイプには、通常のファイル、キャラクタースペシャルファイル、ブロックスペシャルファイル、FIFOスペシャルファイル、シンボリックリンク、ソケット、およびディレクトリが含まれます。他のタイプのファイルが実装によってサポートされる場合があります。

ソース

only「通常のファイル」を意味するときに「ファイル」と言う人は、実際にはPOSIXに準拠していません。 :)

この質問 の回答から、POSIXが何であるかを学ぶことができます。さまざまなオペレーティングシステムがPOSIXに準拠しているか(完全に、またはほとんど)か。詳細については触れませんが、この回答はUnixおよびUnixライクなシステム(macOS、Linux、BSDを含む)に適用されますが、Windowsファミリ全般には適用されません。

42

良い質問。

「コンテンツ」は、ファイルとサブフォルダの両方を含む用語として使用しています。

例:「そのディレクトリのcontentsをすべてコピーする必要があります。」

9
Mr Ethernet

filesentriesを提案する良い答えがあります。 (これらの単語が当てはまる理由がわからない場合は読んでください。POSIXの「ファイル」には、通常のファイルだけでなく、すべてのタイプのiノード(ディレクトリを含む)が含まれることに注意してください)。 ディレクトリエントリ(ファイル名)は、ファイル/ iノードへの参照です

ファイルは、異なるディレクトリに複数の名前を持つことができます(リンク数> 1)。実際のファイルdata/inodeは、ファイル名を含むディレクトリに保存されません

しかし、正気の人間は「あるディレクトリにあるファイルを読む」のようなことを言っても問題はありません。ファイル(inode +データ)とそれを参照するファイル名/ディレクトリエントリを区別する常に煩わ​​しさを感じる必要はありません。

また、最近のファイルシステムのディレクトリエントリには「タイプ」フィールドも保存されることが多いので、findのようなプログラムは、_find -type f_(通常のファイル)のような述語をチェックするために各ファイルをstat(2)する必要はありません。 )対symlinkまたは何か。または、再帰的にディレクトリ自体であるエントリを検索します。 Stack Overflowの readdirによって返されたdir。エントリがディレクトリ、リンク、またはファイルであるかどうかの確認。dent-> d_typeがタイプを表示していない を参照してください。


_foo/bar_または_/a/b/foo/bar_のような「パス」は、ファイル名で終わる文字列ですが、ディレクトリを使用して参照できます現在のディレクトリにないファイル名。 fooは単純なパスであり、ファイル名でもあります。ただし、_foo/bar_はファイルの名前であり、パスでもあります。しかし、「ファイル名」ではないという意味論を主張することもできます。パスまたはパス名は、POSIX open(2) またはchdir(2)またはWin32 OpenFile() のようなシステムコールに渡すことができるものです。


選択した用語(filefilenameディレクトリエントリ)は、コンテキストと実行していることにおそらく依存します。例えばコンテンツまたはiノードのメタデータの読み取りには、実際のファイルが含まれます。

しかし、グロブ式を名前と照合するだけでは、ファイルはまったく関係ありません。justfilename/dirエントリです。

readdir(3)などの関数を実際にループする場合、または「lnを使用してこのファイルを参照する新しいディレクトリエントリを作成する」などの場合、ディレクトリエントリが最も適切です。ハードリンクを処理する場合、「dirエントリ」という用語は、「ファイル名」というよりも、ファイルとは実質的に区別されます。

しかし、「名前」も機能します。例えば「2つの名前を持つファイル」。

多くの場合、c_files=( *.c )のような変数名を使用してシェルスクリプトを記述します。または、fn(ファイル名用)も、ローカルで使用するのに適した変数名です。

entries=( *.c )を使用すると、奇妙に感じるでしょう。 「エントリ」は、ファイル名を取得するためにそれらをループするプロセスについて話している場合にのみ適切であり、何らかのフィルタに一致する結果のファイル名のセットではありません。

8
Peter Cordes

「コンピュータ用語」だけを使用するのではなく、抽象化レベルを上げてみませんか。
より一般的な表現にステップアップ...

成熟したファイルシステムはcontentを格納します。

基本的なコンテンツとして「ファイル」と「フォルダ」を許可します。
ほとんどの場合、「フォルダ」はコンテンツのサブレベルを保存することがあります...

ファイルシステムの選択によっては、他のコンテンツタイプが存在する場合があります。

2
Hannu