GNU/Linux >> Linux の 問題 >  >> Linux

ディレクトリの8進ダンプ

各ファイルシステム タイプは、異なる方法でディレクトリを格納します。さまざまな特性を持つさまざまなファイルシステム タイプが多数あります。高スループットに適している、高い同時実行性に適している、限られたメモリ環境に適している、読み取りと書き込みのパフォーマンス間のさまざまな妥協点、複雑さと安定性の間のさまざまな妥協点などです。 Unix システム。最新のシステムは、さまざまなファイル システムをサポートしています。

Unix の非常に初期のバージョンには、カーネルの外部で多くのファイルシステム操作がありました。例:mkdirrmdir 一部のファイルシステムのデータ構造を直接編集することで機能しました。これはすぐに統一されたディレクトリ アクセス インターフェイス opendir に置き換えられました。 /readdir /closedir これにより、アプリケーションは内部でどのように実装されているかを知らなくても、ディレクトリを操作できました。

Linux でディレクトリの内容を読み取れないのは、それらを隠蔽する必要があるからではなく、実装されている場合にのみ機能が存在し、この機能は無意味でコストがかかるためです。形式がファイルシステムに依存することを考えると、これはかなり無意味な機能です。プログラムは、読み取り対象の形式を知ることができません。どちらもサポートするのは完全に簡単な機能ではありません。一部のファイルシステムは、単なるバイト ストリームではない方法でディレクトリを編成します。たとえば、B ツリーとして編成される場合があります。一部の Unix バリアントでは、下位互換性のためにアプリケーションがディレクトリの内容を直接読み取ることができますが、Linux にはこの機能がありません (そして、私が思い出す限りではありませんでした — 1990 年代初頭には既に廃止された機能でした)。


はい、ただし:

  • 最近のシステムでは、ファイル名の保存方法が異なります。元の Unix では、名前は 14 文字に制限されており、inode は 2 バイトでした。
  • ディレクトリへのインターフェースは関数 opendir 経由です 、 readdirclosedir open ではなく 、 readclose 組織の変更を反映する
  • 誰も 16 バイトのディレクトリ エントリを実際に読み取る必要がないため、設計者は ファイル を読み取るように設計されたプログラムから未加工のディレクトリ ファイルを読み取る機能を省略しました。 .

さらに読む:

  • ハウツー:Linux でのディレクトリを使用した C プログラミング
  • opendir、readdir などに関する質問、1990 年の Usenet スレッド modern について議論 opendir の実装 など

Linux
  1. プロセスごとに設定可能なコア ダンプ ディレクトリ

  2. Linux ファイルシステムを通常のユーザーとして読み取り/書き込み可能に手動でマウントするにはどうすればよいですか?

  3. Ubuntu VM 読み取り専用ファイル システムの修正?

  1. Linuxの特定のディレクトリのユーザーに読み取り/書き込みアクセスを割り当てる

  2. ディレクトリ - Linux では /sys

  3. ゲームディレクトリ?

  1. Linuxでの効率的なファイルシステムナビゲーションには「pushd」と「popd」を使用します

  2. Linux –実行対読み取りビット。 Linuxのディレクトリ権限はどのように機能しますか?

  3. Ifsを理解していますか?