ターミナルからデスクトップを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"
誰か心当たりのある方はいませんか?
86 Chris 2011-06-18
それは何ですか?
実際の名前は Icon\r
で、\r
はキャリッジリターン 0x0D
です。Terminal でシェルにパスをオートコンプリートさせると、Icon^M
、^M
は \r
となります
Icon^M
ファイルは、Finder のカスタムアイコンを持つすべてのディレクトリに存在するファイルです。情報の取得ダイアログで左上のアイコンに画像を貼り付けるなどしてディレクトリのアイコンを変更すると、Icon^M
ファイルが作成されます
ボリュームのアイコンを変更すると、代わりに隠された.VolumeIcon.icns
ファイルが作成されます
なぜ見えないのか?
Finderではhidden
属性が設定されているので見えません
$ 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に対応しているはずの他のプログラムでは動作しないようなので、このフォーマット情報はおそらく間違っていると思われます
102 Daniel Beck 2011-06-18
ディレクトリ内の Icon?
ファイルには、そのディレクトリ用のカスタムアイコン画像が含まれています。画像自体は拡張ファイル属性、具体的には com.apple.ResourceFork
の中に格納されています
そのデータを$ xattr -p com.apple.ResourceFork Icon?
で取得したり、$ xattr -l Icon?
ですべての拡張属性を表示したりすることができます
少なくとも Snow Leopard では、システムアイコンは段階的に廃止されたようですが (‾/Desktop/ の場合、ホームディレクトリをアイコンビューで表示するとそのアイコンが表示されます)、私のシステムにある 2 つのカスタムディレクトリアイコンについては、まだ存在しています
11 NReilingh 2011-06-18
それは何ですか?
これは、フォルダアイコンのイメージを保存するファイルで、手動でフォルダにイメージをロードした場合にのみ作成することができました。私のシステムにはデフォルトではこのファイルはありません
Icon^Mファイルの探し方
NOTE:
.icns
のファイル拡張子とは異なります
もし偽陽性が見つかった場合には、?
#!/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ファイルの作成方法
- Open Finder
- フォルダを右クリックします
- キーボードのOptionを押したままにします
- インスペクタを表示] を選択します
- 画像を左上のフォルダアイコンにドラッグします
- そのディレクトリで
ls -lah
を実行してください- 見た方がいいですよ
-rw-r--r--@ 1 username staff 0B 5月13日 22:23 アイコン?
- 見た方がいいですよ
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で空のフォルダを削除するには?
7 JayRizzo 2018-05-14
Icon^Mファイルは、格納されているフォルダのカスタムイメージを管理するmacOSの隠しシステムファイルです。しかし、ユーザーはこれらのファイルが別の理由で作成されたことに気づくかもしれません
例えば、macOS版のGoogle Driveでは、同期状況を把握するためにフォルダごとにアイコンファイルを作成していました
これらのファイルは安全に削除してください。ターミナルで親ディレクトリから以下のコマンドを実行してください。(ctrl-v, ctrl-m キーを押しながら ^M を挿入してください)
を検索します。-type f -name ‘Icon^M’ -exec rm -f {}.\;
1 Mike Conant 2020-04-16