Finder情報
Finder情報 (Finder Information, FinderInfo)は、Mac OSが扱うファイルやディレクトリのメタデータの一種である。
概要
[編集]Finderは、Mac OS(いわゆる Classic Mac OS および、macOS(Mac OS X))のGUIシェルであるが、Finder情報の多くは、このFinderが視覚的に(グラフィカルではなくビジュアルに)ユーザに示すようなメタデータである。具体例としては、ファイルのフォーマットを示す「タイプ」、それを扱うアプリケーションを示す「クリエータ」、ファイル属性を示すフラグ、画面に表示する際の位置とサイズ等がある。
API上は構造体として扱うが、事実上16バイトの連続したデータであった。その後さらに16バイトの拡張Finder情報が追加され、現在は両者をまとめて32バイトのFinder情報として扱う場合が多い。
ファイルのためのFinder情報はFile Information (FInfo)[1]、拡張Finder情報はExtended File Information (FXInfo)[2]として定義されている。ディレクトリのためのFinder情報はDirectory Information (DInfo)[3]、拡張Finder情報はExtended Directory Information (FXInfo)[4]として定義されている。
後のmacOSにおいても、カーネルレベルからFinder情報を扱うことができる。これについてはAppleが公開しているカーネルソースで確認できる[5]。ただし、macOSはUnix系オペレーティングシステム (OS) であるDarwinをベースとしており、Unix系のアプリケーションでファイルを扱った場合にFinder情報が損失する場合があった。UNIXにはFinder情報という概念がないからである。
Mac OS X v10.4では、Finder情報はcom.apple.FinderInfoという名前の32バイトの拡張属性として再定義された[6]。次のMac OS X v10.5ではこの拡張属性をUnix系のコマンドで扱えるようになった。
保存及び転送
[編集]AppleによるファイルシステムであるHFSと、HFS+、及びファイル共有プロトコルAFPはFinder情報を考慮した設計になっているため、当然のことながらこれを正常に扱うことができる。しかし、他のプラットフォームとの交換の際にこれを損失してしまう可能性がある。
Mac OS用に開発された様々なアーカイブフォーマット(Macバイナリ、BinHex、Compact Pro、StuffIt、AppleSingleとAppleDouble等)では、Finder情報の全てあるいはその中の重要な情報を保存するので、リストア側のソフトウェアが対応していれば損失しない。
Classic Mac OSがDOS用のファイルシステムであるFATのフロッピーディスクにファイルを保存する場合は、隠しファイルを作ってその中にFinder情報を保存した。
現在のmacOSが他のプラットフォームにファイルを保存する際(FAT、SMB/CIFS等)は隠しファイルにAppleDoubleフォーマットを用いて保存する[7]。
Microsoft Windows NTのSFM (Service for Macintosh) サービスを用いてNTFS上にファイルを保存した場合、Finder情報は代替データストリームとして保存される。
閲覧及び変更
[編集]Finder情報はOSが内部的に扱うものであるため、OSの一般的なユーザインタフェースではほとんど閲覧や変更ができない。ただし、商用やフリーのソフトウェアを用いれば可能である。
Appleが無償で配布していたResEditは主にリソースフォークを編集するものであるが、Finder情報も扱う事ができる。Xcodeに付属するGetFileInfo、SetFileコマンドを用いれば、タイプとクリエータ、属性を表示/変更することができる。
Mac OS X v10.5以降では拡張属性として扱えるので、OS付属のxattrコマンドにて操作ができる。
参照
[編集]- ^ Inside MacintoshのChapter 7にあるFile Informationのページ
- ^ Inside MacintoshのChapter 7にあるExtended File Informationのページ
- ^ Inside MacintoshのChapter 7にあるDirectory Informationのページ
- ^ Inside MacintoshのChapter 7にあるExtended Directory Informationのページ
- ^ Mac OS X v10.0のカーネルxnu-123.5のソース bsd/hfs/hfs.h
- ^ Mac OS X v10.4のカーネルxnu-792のソース bsd/sys/xattr.h
- ^ Mac OS X: Apple Double フォーマットは接頭辞に「._ 」を持つファイル名を作成します