web-dev-qa-db-ja.com

アイコン? OS Xデスクトップ上のファイル

ls ~/Desktopを使用して)端末からデスクトップをlsすると、Icon?という名前のファイルが表示されます。私の知る限り、それは空です(nano Icon?は何も表示しません)。実際のデスクトップには表示されず、open Icon?にはFinderアラートが表示されます

このアイテムはMac OS Xで使用されており、開くことができません

mdls Icon?の出力は次のとおりです。

kMDItemContentType         = ""
kMDItemFSContentChangeDate = 2009-09-23 13:32:52 -0600
kMDItemFSCreationDate      = 2009-09-20 07:27:46 -0600
kMDItemFSCreatorCode       = "MACS"
kMDItemFSFinderFlags       = 16384
kMDItemFSHasCustomIcon     = 0
kMDItemFSInvisible         = 1
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery      = 0
kMDItemFSLabel             = 0
kMDItemFSName              = "Icon "
kMDItemFSNodeCount         = 0
kMDItemFSOwnerGroupID      = 20
kMDItemFSOwnerUserID       = 501
kMDItemFSSize              = 0
kMDItemFSTypeCode          = "icon"

これが何であるかについて誰かが考えを持っていますか?

84
Chris

それは何ですか?

その名前は実際には_Icon\r_で、_\r_は改行_0x0D_です。シェルでターミナルのパスをオートコンプリートすると、_Icon^M_が生成され、_^M_は_\r_になります。

_Icon^M_は、Finderにカスタムアイコンがあるすべてのディレクトリに存在するファイルです。ディレクトリのアイコンを変更した場合。 Get Infoダイアログで左上隅のアイコンに画像を貼り付けると、_Icon^M_ファイルが作成されます。

ボリュームのアイコンを変更すると、代わりに非表示の_.VolumeIcon.icns_ファイルが作成されます。

なぜそれが見えないのですか?

そのhidden属性が設定されているため、Finderには表示されません。

_$ ls -lO Icon^M 
-rw-r--r--@ 1 danielbeck  staff  hidden 0 24 Apr 23:29 Icon?
_

_chflags nohidden Icon^M_で変更します。

そのデータはどこにありますか?

ファイルのデータフォーク(つまり、コンテンツ)が空(つまり、ターミナルでのファイルサイズが0バイト)の間、実際のアイコンデータはファイルの リソースフォーク に格納されます。

_$ ls -l@ Icon^M
    com.Apple.ResourceFork  350895 
_

次のように、リソースフォークをファイルにコピーできます(16進エディタなどで表示するため)。

_$ cp Icon^M/..namedfork/rsrc Icondata
_

どうすれば表示できますか?

画像を取得する最も簡単な方法は、アイコンが含まれているフォルダーのGet Infoダイアログからアイコンをクリップボードにコピーし、新しいアイコンを作成することですプレビューのクリップボードからの画像(_Cmd-N_)。これは、デフォルトでicnsイメージです。

そのフォーマットは、Mac OSバージョン XnView によるとJPEG 2000であり、そのプログラムで開くことができるはずです。 JPEG 2000をサポートする他のプログラムでは動作しないようです。そのため、このフォーマット情報はおそらく間違っています。

97
Daniel Beck

ディレクトリ内のIcon?ファイルには、そのディレクトリのカスタムアイコンイメージが含まれています。画像自体は、拡張ファイル属性、具体的にはcom.Apple.ResourceFork内に格納されます。そのため、Icon?ファイルは長さがないように見えます。

$ xattr -p com.Apple.ResourceFork Icon?でそのデータを取得するか、$ xattr -l Icon?ですべての拡張属性を表示できます

Snow Leopardでは、少なくとも、システムアイコン(〜/ Desktop /の場合、アイコンビューでホームディレクトリを表示するとそのアイコンが表示されます)では段階的に廃止されているようですが、2つのカスタムディレクトリアイコンでは私のシステムに持っている、それはまだ存在しています。

11
NReilingh

それは何ですか?

これは、フォルダアイコンの画像を保存するファイルです。手動でフォルダに画像をロードした場合にのみ、これを作成できました。私のシステムにはデフォルトでこれらはありません。

Icon ^ Mファイルの見つけ方

注意:

これは、.icnsファイル拡張子と同じではありません。

誤検知を見つけるかどうかについて偏執的である場合は、次を使用してください:ctrl+vctrl+m の代わりに ?

#!/bin/bash
# =============================================================================
# MAC OSX High Sierra 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================

echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;

Icon ^ Mファイルの作成方法

  1. ファインダーを開く
  2. フォルダを右クリック
  3. 長押し Option キーボード
  4. [インスペクタを表示]を選択します
  5. 画像を左上のフォルダアイコンにドラッグします。
  6. そのディレクトリでls -lahを実行します
    1. 見るべき:
      • -rw-r--r--@ 1 username staff 0B May 13 22:23 Icon?

Icon ^ Mファイルを削除する方法

何らかの理由でそれを削除する必要がある場合...意図的にそれをテストする際に誤って言ってください。

#!/bin/bash
# =============================================================================
# MAC OSX High Sierra 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================

echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;

別の質問に関する私の投稿からの参照:

Mac OS Xで空のフォルダを削除するにはどうすればよいですか?

5
JayRizzo