私はファイルシステムの実装の基本を経験していました。ファイルを検索するために実装している間、OS はファイルとそのディレクトリをどのように区別しますか?
例: 指定されたパスでファイル foo.c を検索したい場合: /home/mac/work/foo.c, OS はどのようにホームを決定しますか,mac と work はディレクトリであり、foo.c は work 内のファイルですディレクトリ
私はファイルシステムの実装の基本を経験していました。ファイルを検索するために実装している間、OS はファイルとそのディレクトリをどのように区別しますか?
例: 指定されたパスでファイル foo.c を検索したい場合: /home/mac/work/foo.c, OS はどのようにホームを決定しますか,mac と work はディレクトリであり、foo.c は work 内のファイルですディレクトリ
この質問は Linux オペレーティング システムに関するものだと思います。
定義によると、ファイルはツリーのリーフ レベルにあります。したがって、末尾に a が付いているもの/
はファイルではありません。
葉は別の話です。 foo.c
ファイルかもしれないし、ディレクトリかもしれない。OSは、それがどれであるかを判断するためにそれを調べる必要があります。内部的には、ディレクトリは技術的にはファイルですが、動作が異なります。
複雑なことに、Linux にはソフト リンクとハード リンクがあります。これらは、ファイルまたはディレクトリにリンクできる特別なファイルです。実際、ディレクトリはファイル システム全体のマウント ポイントになる場合があります。別のパーティションまたはドライブを としてマウントすることは非常に一般的です/home
。これらは特に気にする必要はありません。あなたは主にアドレス指定に関心があります。
Linux でファイルが何であるかを調べたい場合は、 を使用します/usr/bin/stat
。