Linuxファイルの一貫性

Linuxファイルの一貫性

すべての種類のファイル(画像、バイナリ実行可能ファイル、スクリプト、ディレクトリ、zipファイルなど)を含むフォルダにある場合、なぜをクリックすると、次の出力がls -lテーブルに表示されますか?すべてのファイル?

これは、ファイル自体がメタデータが添付された統合スーパーファイルに配置されるのと似ており、プロセスの制御ブロック構造に少し似ています。

UnixやLinuxに関連しないファイルではなぜ問題がないと思いますか? Windowsの世界のファイルを処理するための同様のファイルシステムプリプロセッサはありますか?それとも、クロスプラットフォームファイルは必要ありませんか? (何かあります!)

どのような方法がありますか?バラよりこの隠し(?)レイヤー? (Lispなどはもちろん、HTMLもそのまま読むだけでは理解しにくいですが、見ればすぐに理解になります。)

ベストアンサー1

ほぼ正確に正しい答えを見つけました。いくつかの詳細を入力するだけです。

ほとんどの場合(特殊ファイルを除く)、すべてのファイルはまったく同じように扱われ、ディレクトリ(「フォルダ」とも呼ばれます)は実際にはファイルとして実装されます。ファイルは実際には一連のディスクブロックです。作成する「メタデータ」を「インデックスノード」と呼びます(参照:スーパーブロック、アノード、ディレクトリエントリ、ファイルとは何ですか?インデックスノードとは何ですか?このウェブサイトから)。ディレクトリ(または「フォルダ」)は、ファイル名をinodeと一致させる方法にすぎません。名前(ファイル形式、権限、所有権など)に加えて、メタデータもinodeに存在します。メタデータは主にアクセス速度と圧縮のためのバイナリ形式です。 XMLや他のテキスト形式を解析するのに時間がかかりすぎます。

次のコマンドを使用して、ファイルメタデータのテキスト表現を表示できますstatstat /bin/cat興味があるかもしれません。statGNUコマンドなので、普遍的には使用できませんが、ほとんどのLinuxディストリビューションにはこのコマンドが必要です。

「外部」ファイルに関して、ファイル/inode/ディレクトリの概念は、オペレーティングシステムが今日よりもはるかに可変であった時代に由来しています。 Unixと元のファイルシステムの設計者は、今日非常に奇妙に思われるオペレーティングシステムとファイルシステムの豊富な経験を持っていました。ファイル/アノード/ディレクトリの概念がすべての経験の特徴であることがほぼ確実であるため、今日のより均質なオペレーティングシステムが提供する「ファイルとは何か」のいくつかのバリエーションは実際には問題になりません。 20年前の状況を理解するには、以下を参照してください。ファイルシステムはカーネルに属します。最近のコンテンツを見るには、次をご覧ください。醜い名前。これはRuss Coxのブログ投稿です。ブログ記事に引用されているRob Pikeの論文も読んでください。あなたはそれからインスピレーションを受けます。

おすすめ記事