Mac OS X資料一覧
更新日:2008/2/7
対応ソフトウェア:Mac OS X 10.5(Leopard)
リソースフォーク格納場所
リソースフォークはFinderからは見えないようになっているが、com.apple.ResourceForkというEA(Extended Attribute)として存在する。
例えばWebサイトのURLを表すwebloc(Webインターネットロケーション)ファイルの場合、以下のように2つのEAが内包されている。
% ls -l@ Apple.webloc
-rw-r--r--@ 1 foo staff 0 2 5 16:11 Apple.webloc
com.apple.ResourceFork 545
com.apple.quarantine 42
リソースフォークは実際にファイルとしてアクセスすることもできる。
<ファイル>/rsrc あるいは <ファイル>/..namedfork/rsrc
リソースフォーク内容参照
リソースフォークファイルはプレーンテキストではないので内容を参照するにはDeRezコマンドを使用する。
ファイルの種類によって様々なデータが格納されるが、前述のweblocファイルの場合リソースフォーク内にURLが格納されている。
% DeRez Apple.webloc
data 'drag' (128, "Apple.webloc") {
$"0000 0001 0000 0000 0000 0000 0000 0003" /* ................ */
$"5445 5854 0000 0100 0000 0000 0000 0000" /* TEXT............ */
$"7572 6C20 0000 0100 0000 0000 0000 0000" /* url ............ */
$"7572 6C6E 0000 0100 0000 0000 0000 0000" /* urln............ */
};
data 'url ' (256, "Apple.webloc") {
$"6874 7470 3A2F 2F77 7777 2E61 7070 6C65" /* http://www.apple */
$"2E63 6F6D 2F" /* .com/ */
};
data 'TEXT' (256, "Apple.webloc") {
$"6874 7470 3A2F 2F77 7777 2E61 7070 6C65" /* http://www.apple */
$"2E63 6F6D 2F" /* .com/ */
};
data 'urln' (256, "Apple.webloc") {
$"4170 706C 65" /* Apple */
};
リソースフォーク削除
リソースフォークを全て削除するにはxattr -dを使用する。
% xattr -d com.apple.ResourceFork <ファイル>
リソースフォークから任意のデータを削除するには以下の手順で行う。
まずDeRezコマンドでリソースフォークから不要なデータを削除したテキストファイルを作成
% DeRez -skip '<キー>' foo > foo.tmp
次にRezコマンドで上記ファイルからリソースフォークを作成
% Rez foo.tmp -o foo.rsrc
作成されたリソースフォークをオリジナルと入れ替える
% cp foo.rsrc/rsrc foo/rsrc
関連情報(Google検索)
