アノード数とデータブロック数は作成時に割り当てられることを理解しています。
しかし、たとえば、「text.txt」ファイルをinode番号20またはデータブロック番号20に保存したい場合は、これを行うことができますか?
答え1
これはrawデバイス(与えられたブロック番号に対して)を使用します。
特定のinodeを開くことは別の問題です。これは従来の生のデバイス操作でもファイルシステムでもありません。やりたいかもしれませんまた覆う削除されたファイルにはこれを行うためのツールがあります。しかし、書く特定のinodeに接続することは、システムの残りの部分と整合性チェックをバイパスするので(デバイスドライバを書かない限り)良いことではありません。
追加資料:
- Linux:C言語はハードディスクに直接アクセスします。
- 第11章 オリジナル装備(Linux 2.4 SCSI サブシステムのハウツー)
- inodeでファイルを検索できますか?
- inode番号がわかっている場合は、削除されたファイルのハードリンクを再生成します。
ツールの言及:
lsofを使用してファイルのinode番号を確認する icatのインストール(Google icat-sleuthtools)... Ubuntuの場合はapt-get install sleuthtoolsです。 次に、icatを使用してファイルを新しい場所にコピーします。 icat -hf ext /dev/xxx > /path/to/copy.file