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


82

ときI ls(使用して、端末からの私のデスクトップls ~/Desktop)、私は名前のファイルを参照してください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"

誰がこれが何であるかについてのアイデアを持っていますか?


6
本当の質問は、オペレーティングシステムがすべてのディレクトリにこれらのいまいましいファイルを作成しないようにする方法はありますか?Dropboxに表示されるのは本当にイライラします。
ジェレミークン

1
@JeremyKun 2017はこちらです。これに対する答えを知りたいです。
エスケープ文字

これらのファイルは、作成の原因となる厄介なソフトウェアがない限り、「すべてのディレクトリに」自動的に作成されません。また、彼らはあなたを困らせるかもしれませんが、彼らの機能も持っています。これは、MacOSでの「カスタムユーザーアイコン」の実装です。ユーザーが自分の好みの画像を貼り付けてファイルまたはディレクトリのアイコンとして使用することを選択した場合、最終的に非表示のiConになりますか?ファイル。それらを削除すると、単にカスタムアイコンが削除されます。
モッティシュニーア

回答:


95

それは何ですか?

これは、名前が実際にあるのですIcon\rと、\rキャリッジリターンであること0x0D。シェルにターミナルのパスを自動補完させるとIcon^M^Mが生成され\rます。

Icon^MFinderにカスタムアイコンがあるすべてのディレクトリに存在するファイルです。たとえば、左上隅のアイコンに画像を貼り付けて[ 情報を取得 ]ダイアログでディレクトリのアイコンを変更すると、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

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

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

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



3
Appleは実際に、リソースフォークでのデータの非表示を非常に頻繁に行っています。それがきちんとしたものであるか、誤解を招くものであるかは決して判断できません。
ルカサ

2
一貫しています。結局アイコンリソースフォークのコンテンツです。
JdeBP

3
あなたは一本の木、バッタの木材を見逃しています。ボリュームアイコンファイルにとどまらず、少なくともMacOSでは伝統的にリソースフォークアイコンが見つかるケースの素晴らしい森を見てください。あなたがすべてモダンでヒップになりたいと思っているなら、私たちはステンキングのリソースを必要としない-私たちはUnixだ-あなたは本当に現代のヒップ/..namedfork/rsrcサフィックスを使用するようにあなたの答えを修正する必要があります警告メッセージを生成するものの。(-:
JdeBP

2
私の驚くべき 能力は、これらprintfのすべてがシステムログに行くことを教えてくれます。
JdeBP

10

Icon?ディレクトリ内のファイルには、そのディレクトリのカスタムアイコン画像が含まれています。画像自体は、拡張ファイル属性、具体的にはに保存されますcom.apple.ResourceFork。これが、Icon?ファイルに長さがないように見える理由です。

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

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


Icon^M私の知る限り、「システムアイコン」がファイルを作成したことはありません。これらの特別なフォルダの名前をカスタムアイコンで~/Applications変更します(デフォルトでは存在しないため、とにかく処理が簡単です)。アイコンも一緒に変更されます。
ダニエルベック

@ダニエルうん; そのため、OPにはデスクトップフォルダー用にカスタマイズされたアイコンがあると思います。
-NReilingh

5

それは何ですか?

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

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

注意:

これは.icnsファイル拡張子とは異なります。

誤検出を見つけた場合、次のように使用してください:の代わりにctrl+ v ctrl+ 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で空のフォルダーを削除するにはどうすればよいですか?


1
+1、受け入れられた回答に「削除方法」がないため。いいえ、minGWのbashを介してWindowsからアクセスする場合、それらは役に立ちません。
gbarry
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.