ไอคอน? ไฟล์บนเดสก์ท็อป OS X


82

เมื่อฉัน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
JeremyKun

1
@JeremyKun 2017 ที่นี่และฉันชอบที่จะรู้คำตอบนี้
escapecharacter

ไฟล์เหล่านี้จะไม่ถูกสร้างโดยอัตโนมัติ "ในทุก ๆ ไดเรกทอรี" เว้นแต่คุณจะมีซอฟต์แวร์ที่น่ารังเกียจซึ่งเป็นสาเหตุของการสร้าง นอกจากนี้ - พวกเขาอาจรบกวนคุณ แต่พวกเขาก็มีฟังก์ชั่นของพวกเขาเช่นกัน นี่เป็นการใช้งาน "Custom user-icon" ใน MacOS หากผู้ใช้เลือกที่จะวางภาพใด ๆ ที่เขาชอบที่จะใช้เป็นไอคอนของไฟล์หรือไดเรกทอรี - มันจะกลายเป็น iCon ที่ซ่อนอยู่? ไฟล์. การลบพวกเขาเพียงแค่ลบไอคอนที่กำหนดเอง
Motti Shneor

คำตอบ:


95

มันคืออะไร?

มันเป็นชื่อที่เป็นจริงIcon\rกับการเป็นที่กลับรถ\r 0x0Dหากปล่อยให้เปลือกเติมเส้นทางในเทอร์มิก็มีอัตราผลตอบแทน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 

คุณสามารถคัดลอกตัวแยกทรัพยากรไปยังไฟล์ (เพื่อดูเช่นในโปรแกรมแก้ไขฐานสิบหก) ดังนี้:

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

 ฉันจะดูมันได้อย่างไร

วิธีที่ง่ายที่สุดในการรับภาพคือการคัดลอกไอคอนจากกล่องโต้ตอบรับข้อมูลของโฟลเดอร์ที่อยู่ในคลิปบอร์ดจากนั้นสร้างภาพใหม่จากคลิปบอร์ดในตัวอย่าง ( Cmd-N) มันเป็นicnsภาพโดยค่าเริ่มต้น

รูปแบบของมันคือ JPEG 2000 ตามXnViewเวอร์ชัน Mac OS และคุณควรจะสามารถเปิดมันด้วยโปรแกรมนั้นได้ ดูเหมือนจะไม่ทำงานกับโปรแกรมอื่น ๆ ที่ควรรองรับ JPEG 2000 ดังนั้นข้อมูลรูปแบบนี้อาจผิด



3
แอปเปิ้ลทำเช่นนี้ซ่อนข้อมูลของพวกเขาในการแยกทรัพยากรบ่อยครั้งมาก ฉันไม่สามารถตัดสินใจได้ว่ามันจะเรียบร้อยหรือทำให้เข้าใจผิด
Lukasa

2
มันสอดคล้องกัน ไอคอนหลังจากทั้งหมดเป็นเนื้อหาส้อมทรัพยากร
JdeBP

3
คุณคิดถึงไม้สำหรับต้นตั๊กแตน ดูเกินไฟล์ไอคอนปริมาณป่าที่ดีของกรณีที่แบบดั้งเดิมใน MacOS อย่างน้อยไอคอนที่จะพบในส้อมทรัพยากร หากคุณกำลังพยายามที่จะทันสมัยและทันสมัยและเราไม่จำเป็นต้องไม่ต้อง steenking ทรัพยากรส้อมเรากำลัง Unix ตอนนี้คุณควรแก้ไขคำตอบของคุณเพื่อใช้/..namedfork/rsrcคำต่อท้ายที่ทันสมัยและทันสมัยแทน ของข้อความที่สร้างข้อความเตือน (-:
JdeBP

2
ของฉันที่น่าตื่นตาตื่นใจกายสิทธิ์ อำนาจบอกว่าสิ่งเหล่านี้printfsไปที่เข้าสู่ระบบ
JdeBP

10

Icon?ไฟล์ภายในไดเรกทอรีมีภาพไอคอนที่กำหนดเองสำหรับไดเรกทอรีที่ ภาพนั้นถูกเก็บไว้ในแอตทริบิวต์ของไฟล์แบบขยายโดยเฉพาะcom.apple.ResourceForkซึ่งเป็นสาเหตุที่Icon?ไฟล์ดูเหมือนไม่มีความยาว

คุณสามารถดึงข้อมูลนั้นด้วย$ xattr -p com.apple.ResourceFork Icon?หรือดูแอตทริบิวต์เพิ่มเติมทั้งหมดด้วย$ xattr -l Icon?

อย่างน้อยที่สุดบน Snow Leopard พวกเขาดูเหมือนจะถูกเลิกใช้สำหรับไอคอนระบบ (ในกรณีของ ~ / Desktop / ไอคอนนั้นจะปรากฏเมื่อดูไดเรกทอรีบ้านของคุณในมุมมองไอคอน) แต่สำหรับไอคอนไดเรกทอรีที่กำหนดเองสองตัว มีในระบบของฉันมันยังคงมีอยู่


"ไอคอนระบบ" ไม่เคยสร้างIcon^Mไฟล์เท่าที่ฉันรู้ เปลี่ยนชื่อโฟลเดอร์พิเศษเหล่านี้ด้วยไอคอนที่กำหนดเอง (ทำได้ง่ายที่สุด~/Applicationsเนื่องจากไม่มีอยู่ตามค่าเริ่มต้น) และไอคอนจะเปลี่ยนไปด้วย
Daniel Beck

@Daniel Yup; ฉันคิดว่า OP มีไอคอนที่กำหนดเองสำหรับโฟลเดอร์เดสก์ท็อปของเขาแล้ว
NReilingh

5

มันคืออะไร?

เป็นไฟล์ที่เก็บอิมเมจสำหรับไอคอนโฟลเดอร์ของคุณฉันสามารถสร้างไฟล์นี้ได้ก็ต่อเมื่อฉันโหลดรูปภาพไปยังโฟลเดอร์ด้วยตนเอง ฉันไม่มีสิ่งเหล่านี้ในระบบตามค่าเริ่มต้น

วิธีค้นหาไฟล์ไอคอน ^ 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;

วิธีสร้างไฟล์ไอคอน ^ M

  1. เปิด Finder
  2. คลิกขวาที่โฟลเดอร์
  3. กดค้างไว้Optionที่แป้นพิมพ์ของคุณ
  4. เลือกแสดงตัวตรวจสอบ
  5. ลากรูปภาพไปที่ไอคอนโฟลเดอร์ด้านบนซ้าย
  6. ทำงานls -lahในไดเรกทอรีนั้น
    1. คุณควรเห็น:
      • -rw-r--r--@ 1 username staff 0B May 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 ได้อย่างไร


1
+1 เนื่องจาก "วิธีการลบ" หายไปจากคำตอบที่ยอมรับ และไม่มันไม่มีประโยชน์เมื่อเข้าถึงจาก Windows ผ่าน bash ของ minGW
gbarry
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.