Biểu tượng? tập tin trên máy tính để bàn OS X


82

Khi lstôi Máy tính để bàn của tôi từ thiết bị đầu cuối (bằng cách sử dụng ls ~/Desktop), tôi thấy một tệp có tên Icon?. Theo như tôi có thể nói, nó trống rỗng ( nano Icon?không hiển thị gì). Nó không hiển thị trên Màn hình thực tế của tôi và open Icon?hiển thị cảnh báo Finder

Mục này được Mac OS X sử dụng và không thể mở được

Đây là đầu ra từ 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"

Có ai có ý tưởng gì về việc này không?


6
Câu hỏi thực sự là: có cách nào để ngăn hệ điều hành tạo các tệp chết tiệt này trong mọi thư mục không? Nó thực sự làm tôi khó chịu khi chúng xuất hiện trong Dropbox.
JeremyKun 20/03/2015

1
@JeremyKun 2017 tại đây và tôi rất muốn biết câu trả lời cho điều này.
escapecharacter

Các tệp này KHÔNG được tạo tự động "trong mọi thư mục" trừ khi bạn có một số phần mềm khó chịu gây ra việc tạo chúng. Ngoài ra - họ có thể làm phiền bạn, nhưng họ cũng có chức năng của họ. Đây là việc thực hiện "Biểu tượng người dùng tùy chỉnh" trong MacOS. Nếu người dùng chọn dán bất kỳ hình ảnh nào theo ý muốn của mình để làm biểu tượng của một số tệp hoặc thư mục - nó sẽ kết thúc dưới dạng một iCon ẩn? tập tin. Xóa chúng chỉ đơn giản là loại bỏ các biểu tượng tùy chỉnh.
Motti Shneor

Câu trả lời:


95

Nó là gì?

Đó là tên thật Icon\r, với \rviệc trở lại xe ngựa 0x0D. Nếu để cho vỏ tự động hoàn thành các đường dẫn trong Terminal, nó mang lại Icon^M, ^M\r.

Icon^Mlà một tệp hiện có trong tất cả các thư mục có biểu tượng tùy chỉnh trong Finder. Nếu bạn thay đổi biểu tượng của thư mục, ví dụ như trong hộp thoại Nhận thông tin bằng cách dán hình ảnh vào biểu tượng ở góc trên bên trái, Icon^Mtệp sẽ được tạo.

Thay đổi biểu tượng của âm lượng sẽ tạo một .VolumeIcon.icnstệp ẩn thay thế.

Tại sao nó vô hình?

Nó vô hình trong Finder, vì hiddenthuộc tính của nó được đặt.

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

Thay đổi với chflags nohidden Icon^M.

Dữ liệu của nó ở đâu?

Trong khi ngã ba dữ liệu của tệp (tức là nội dung) trống (tức là kích thước tệp 0 byte trong Terminal), dữ liệu biểu tượng thực tế được lưu trữ trong ngã ba tài nguyên của tệp .

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

Bạn có thể sao chép fork tài nguyên vào một tệp (để xem ví dụ trong trình soạn thảo hex) như thế này:

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

 Làm thế nào tôi có thể xem nó?

Cách dễ nhất để có được hình ảnh là sao chép biểu tượng từ hộp thoại Nhận thông tin của thư mục chứa trong bảng tạm, sau đó tạo một hình ảnh mới từ bảng ghi tạm trong Bản xem trước ( Cmd-N). Đó là một icnshình ảnh theo mặc định.

Định dạng của nó là JPEG 2000 theo phiên bản XnView của Mac OS và bạn sẽ có thể mở nó bằng chương trình đó. Nó dường như không hoạt động với các chương trình khác hỗ trợ JPEG 2000, vì vậy thông tin định dạng này có thể sai.



3
Apple thực sự làm điều này che giấu dữ liệu của họ trong một ngã ba tài nguyên khá thường xuyên. Tôi không bao giờ có thể quyết định nếu nó gọn gàng hoặc gây hiểu lầm.
Lukasa

2
Nó phù hợp. Các biểu tượng sau khi tất cả nội dung ngã ba tài nguyên.
JdeBP

3
Bạn bỏ lỡ gỗ cho một cây, châu chấu. Nhìn xa hơn một tệp biểu tượng âm lượng đến một rừng lớn các trường hợp, theo truyền thống trong MacOS, ít nhất, các biểu tượng sẽ được tìm thấy trong các nhánh tài nguyên . Nếu bạn đang cố gắng trở thành tất cả những người hiện đại và mạnh mẽ và chúng ta không cần-steenking-resource-forks-we-Unix-now, bạn thực sự nên sửa câu trả lời của mình để sử dụng /..namedfork/rsrchậu tố hiện đại và hông của một trong đó tạo ra một thông điệp cảnh báo. (-:
JdeBP

2
Tuyệt vời của tôi tâm linh cường quốc nói với tôi rằng tất cả các printfs đi vào nhật ký hệ thống.
JdeBP

10

Một Icon?tệp trong thư mục chứa hình ảnh biểu tượng tùy chỉnh cho thư mục đó. Hình ảnh được lưu trữ bên trong một thuộc tính tệp mở rộng, cụ thể com.apple.ResourceFork, đó là lý do tại sao Icon?tệp dường như không có độ dài.

Bạn có thể truy xuất dữ liệu đó bằng $ xattr -p com.apple.ResourceFork Icon?hoặc xem tất cả các thuộc tính mở rộng với$ xattr -l Icon?

Trên Snow Leopard, ít nhất, chúng dường như đã bị loại bỏ các biểu tượng hệ thống (Trong trường hợp ~ / Desktop /, biểu tượng đó sẽ hiển thị khi xem thư mục chính của bạn trong chế độ xem biểu tượng.) Nhưng đối với hai biểu tượng thư mục tùy chỉnh I có trên hệ thống của tôi, nó vẫn tồn tại.


Các "biểu tượng hệ thống" chưa bao giờ tạo một Icon^Mtệp theo như tôi biết. Đổi tên các thư mục đặc biệt này bằng các biểu tượng tùy chỉnh (dễ thực hiện nhất ~/Applicationsvì dù sao nó không tồn tại theo mặc định) và biểu tượng của chúng sẽ thay đổi theo.
Daniel Beck

@Daniel Yup; Tôi cho rằng OP có một biểu tượng tùy chỉnh cho thư mục Desktop của mình.
NRzingh

5

Nó là gì?

Đó là tệp lưu trữ Hình ảnh cho Biểu tượng Thư mục của bạn, tôi chỉ có thể tạo được hình ảnh này nếu tôi tự tải hình ảnh vào thư mục. Tôi không có những thứ này trên hệ thống của mình theo mặc định.

Cách tìm biểu tượng ^ M

GHI CHÚ:

Điều này không giống như .icnsphần mở rộng tập tin.

Bạn có nên hoang tưởng về việc nếu tìm thấy một dương tính giả thì sử dụng: ctrl+ v ctrl+ mthay vì?

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

Cách tạo biểu tượng ^ M

  1. Mở Finder
  2. Nhấp chuột phải vào một thư mục
  3. Nhấn và giữ Optiontrên bàn phím của bạn
  4. Chọn Hiển thị Thanh tra
  5. Kéo một hình ảnh vào biểu tượng thư mục trên cùng bên trái.
  6. Chạy ls -lahtrên thư mục đó
    1. Bạn nên thấy:
      • -rw-r--r--@ 1 username staff 0B May 13 22:23 Icon?

Cách xóa biểu tượng ^ M

Nếu bạn cần loại bỏ nó vì bất kỳ lý do gì ... vô tình nói về mục đích thử nghiệm nó.

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

Tham khảo từ bài viết của tôi về một câu hỏi khác:

Làm cách nào để xóa các thư mục trống trong Mac OS X?


1
+1, vì "Cách xóa" bị thiếu trong câu trả lời được chấp nhận. Và không, chúng không hữu ích khi được truy cập từ Windows, thông qua bash của minGW.
gbarry
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.