Simge? OS X masaüstündeki dosya


82

Ne zaman lsterminalden (kullanarak benim Masaüstü ls ~/Desktop), adlı bir dosya bakın Icon?. Söyleyebileceğim kadarıyla, boş ( nano Icon?hiçbir şey göstermiyor). Gerçek Masaüstümde görünmüyor open Icon?ve Finder uyarısını gösteriyor

Bu öğe Mac OS X tarafından kullanılıyor ve açılamıyor

İşte çıktı 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"

Bunun ne olduğuna dair bir fikri olan var mı?


6
Asıl soru şudur: İşletim sisteminin bu lanet dosyaları her dizinde oluşturmasını engellemenin bir yolu var mı? Dropbox'ta ortaya çıkmaları beni gerçekten sinir ediyor.
JeremyKun

1
@ JeremyKun 2017 burada ve bunun cevabını bilmek isterim.
escapecharacter 17:17

Bu dosyalar, oluşturulmalarına neden olan kötü yazılımlar olmadıkça otomatik olarak "her dizinde" oluşturulmaz. Ayrıca - sizi sinirlendirebilirler, ancak işlevleri de vardır. MacOS'ta "Özel kullanıcı simgesi" nin uygulanması. Kullanıcı, bir dosya veya dizinin simgesi olarak hizmet etmeyi istediği herhangi bir resmi yapıştırmayı seçerse - gizli bir iCon mu olacak? dosya. Bunları silmek sadece özel simgeyi kaldırır.
Motti Shneor

Yanıtlar:


95

Bu ne?

Bu isim aslında var Icon\rolan, \rsatırbaşı olmak 0x0D. Kabuğun yolu Terminal'de otomatik olarak tamamlamasına izin verirse Icon^M, ^Molur \r.

Icon^MFinder'da özel bir simgeye sahip olan tüm dizinlerde bulunan bir dosyadır. Bir yöneticinin simgesini, örneğin Bilgi Al iletişim kutusunda sol üst köşedeki simgeye bir resim ekleyerek değiştirirseniz, Icon^Mdosya oluşturulur.

Birimin simgesini değiştirmek .VolumeIcon.icnsyerine gizli bir dosya oluşturulur .

Neden görünmez?

hiddenÖzniteliği ayarlandığı için Finder'da görünmez .

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

İle değiştirin chflags nohidden Icon^M.

Verileri nerede?

Dosyanın veri çatalı (yani içeriği) boş iken (yani Terminal'de 0 bayt dosya boyutu), gerçek simge verisi dosyanın kaynak çatalında saklanır .

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

Kaynak çatalını aşağıdaki gibi bir dosyaya (örneğin bir hex editöründe görüntülemek için) kopyalayabilirsiniz:

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

 Nasıl görebilirim?

Görüntüyü elde etmenin en kolay yolu, simgeyi panoda bulunduğu klasörün Bilgi Al iletişim kutusundan kopyalayıp, panoda Preview ( Cmd-N) içinde yeni bir görüntü oluşturmaktır . icnsVarsayılan olarak bir görüntü.

Formatı, XnView'un Mac OS sürümüne göre JPEG 2000'dir ve bu programla açabilmelisiniz. JPEG 2000'i desteklemesi gereken diğer programlarla çalışmıyor gibi görünüyor, bu nedenle bu biçim bilgisi muhtemelen yanlıştır.



3
Apple, verilerini gizlice bir kaynak çatalında saklıyor. Düzgün mü yanıltıcı mı olacağına asla karar veremem.
Lukasa

2
Tutarlı. Sonuçta Simgeler olan kaynak çatal içeriği.
JdeBP

3
Tek bir ağaç için ağacı özlüyorsun, çekirge. Geleneksel olarak en azından MacOS'ta simgelerin kaynak çatallarında bulunduğu büyük vaka ormanlarına bir birim simge dosyasının ötesine bakın . Tamamen modern ve kalça olmaya çalışıyoruz ve biz gerek yok-gerek yok-kaynak-çatallar-biz-Unix'iz, şimdi modern ve kalça /..namedfork/rsrcsonekini kullanmak için cevabınızı gerçekten düzeltmelisiniz Bir uyarı mesajı oluşturanlardan biri. (-:
JdeBP

2
Benim şaşırtıcı psişik güçler olduğunu söyle bunların hepsi printfs sistem günlüğüne gidin.
JdeBP

10

Bir Icon?dizin içindeki dosya bu dizin için özel bir simge resmini içeriyor. Görüntünün kendisi, özellikle genişletilmiş bir dosya özniteliği içinde saklanır com.apple.ResourceFork, bu nedenle Icon?dosyanın uzunluğu yoktur.

Bu verileri ile alabilir $ xattr -p com.apple.ResourceFork Icon?veya tüm genişletilmiş özellikleri$ xattr -l Icon?

Snow Leopard'da en azından, sistem simgeleri için aşamalı görünüyorlar (~ / Desktop / durumunda, bu simge ana dizininizi simge görünümünde görüntülerken görünür.) Fakat iki özel dizin simgesi için I benim sistemimde var, hala var.


"Sistem simgeleri" Icon^Mbildiğim kadarıyla bir dosya oluşturmadı. Bu özel klasörleri özel simgelerle yeniden adlandırın (kullanımı kolay ~/Applications, varsayılan olarak bulunmadığı için) ve simgeleri de değişecektir.
Daniel Beck

@Daniel Yup; O zaman OP'in Masaüstü klasörü için özelleştirilmiş bir ikonu olduğunu varsayalım.
NReilingh

5

Bu ne?

Bu, Klasör Simgeniz için İmajı saklayan dosyadır, ancak bunu klasöre manuel olarak yüklediğimde oluşturulabildi. Bunları varsayılan olarak sistemimde yok.

Simge ^ M dosyaları nasıl bulunur

NOT:

Bu .icnsdosya uzantısı ile aynı değil .

Yanlış bir pozitif bulursanız paranoyak olmalı mı, sonra şunu kullanın: 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;

Simge ^ M dosyası nasıl oluşturulur

  1. Finder'ı aç
  2. Bir Klasöre Sağ Tıklayın
  3. Basın ve Tut Optionklavyenizdeki
  4. Müfettişi Göster'i seçin
  5. Resmi sol üst klasör simgesine sürükleyin.
  6. ls -lahBu dizinde koş
    1. Görmelisin:
      • -rw-r--r--@ 1 username staff 0B May 13 22:23 Icon?

Icon ^ M dosyası nasıl kaldırılır

Herhangi bir nedenden çıkarmanız gerekiyorsa ... yanlışlıkla testi isteyin.

#!/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;

Başka bir soruya gönderdiğim yazıdan referans:

Mac OS X'te boş klasörleri nasıl silebilirim?


1
+1, çünkü "Nasıl Kaldırılır" kabul edilen yanıttan eksik. Ve hayır, minGW's bash ile Windows'tan erişildiklerinde kullanışsızlar.
gbarry
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.