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コマンドにて操作ができる。 参照
|