Symbol? datei auf OS X Desktop

Wenn ich ls meinen Desktop vom Terminal aus (mit ls ~/Desktop), sehe ich eine Datei mit dem Namen Icon?. Soweit ich das beurteilen kann, ist es leer (nano Icon? zeigt nichts). Es wird nicht auf meinem tatsächlichen Desktop angezeigt und open Icon? zeigt die Finder-Warnung

Dieses Element wird von Mac OS X verwendet und kann nicht geöffnet werden

Hier ist die Ausgabe von 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"

Hat jemand eine Idee, was das ist?

Author: L3viathan, 2011-06-18

4 answers

Was ist das?

Sein Name ist eigentlich Icon\r, wobei \r der Wagenrücklauf 0x0D ist. Wenn die Shell den Pfad im Terminal automatisch vervollständigt, ergibt dies Icon^M, ^M sein \r.

Icon^M ist eine Datei, die in allen Verzeichnissen mit einem benutzerdefinierten Symbol im Finder vorhanden ist. Wenn Sie das Symbol eines Verzeichnisses ändern, z. B. im Dialogfeld Get Info , indem Sie ein Bild in das Symbol in der oberen linken Ecke einfügen, wird die Datei Icon^M erstellt.

Ändern des Symbols eines Volumes. eine versteckte .VolumeIcon.icns Datei stattdessen.

Warum ist es unsichtbar?

Es ist im Finder unsichtbar, da das Attribut hidden gesetzt ist.

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

Ändern Sie mit chflags nohidden Icon^M.

Wo sind seine Daten?

Während die Datengabel der Datei (dh der Inhalt) leer ist (dh eine Dateigröße von 0 Byte im Terminal), werden die tatsächlichen Symboldaten in der Ressourcengabel der Datei gespeichert.

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

Sie können den Ressourcengabel in eine Datei kopieren (z. B. in einem Hex-Editor) wie dieser:

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

Wie kann ich es sehen?

Der einfachste Weg, das Bild zu erhalten, besteht darin, das Symbol aus dem Dialog Get Info des Ordners, in dem es enthalten ist, in die Zwischenablage zu kopieren und dann ein neues Bild aus der Zwischenablage zu erstellen Vorschau (Cmd-N). Es ist dann standardmäßig ein icns - Bild.

Sein Format ist icns, codiert als icon resource mit derez. Wenn Sie es in einem Hex-Editor öffnen und die ersten 260 Bytes entfernen (die Datei beginnt also mit der icns ( Byte-String), können Sie es in der Vorschau öffnen.App. Alternativ können Sie es mit XnView

 109
Author: Daniel Beck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-12-10 18:24:58

Eine Icon? Datei in einem Verzeichnis enthält ein benutzerdefiniertes Symbolbild für dieses Verzeichnis. Das Bild selbst wird in einem erweiterten Dateiattribut gespeichert, insbesondere com.apple.ResourceFork, weshalb die Datei Icon? keine Länge zu haben scheint.

Sie können diese Daten mit $ xattr -p com.apple.ResourceFork Icon? abrufen oder alle erweiterten Attribute mit $ xattr -l Icon?

Zumindest bei Snow Leopard scheinen sie für Systemsymbole auslaufen zu sein (Im Fall von ~ / Desktop/ wäre dieses Symbol beim Anzeigen Ihres Home-Verzeichnisses sichtbar in Symbolansicht.) aber für die beiden benutzerdefinierten Verzeichnissymbole, die ich auf meinem System habe, existiert es immer noch.

 11
Author: NReilingh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-18 04:40:04

Was ist das?

Es ist die Datei, die das Bild für Ihr Ordnersymbol speichert, ich konnte dies nur erstellen, wenn ich manuell ein Bild in den Ordner geladen habe. Ich habe diese standardmäßig nicht auf meinem System.

So Finden Sie das Symbol^M-Dateien

HINWEIS:

Dies ist nicht dasselbe wie die Dateierweiterung .icns.

Sollten Sie paranoid sein, wenn Sie ein falsch positives finden, dann verwenden Sie: ctrl+v strg+m statt ?

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

So erstellen Sie die Icon^M-Datei

  1. Finder öffnen
  2. Rechtsklick Auf einen Ordner
  3. Drücken und halten Sie die Option auf Ihrer Tastatur
  4. Wählen Sie Show Inspector
  5. Ziehen Sie ein Bild auf das Ordnersymbol oben links.
  6. Führen Sie ls -lah in diesem Verzeichnis aus
    1. Sie sollten sehen:
      • -rw-r--r--@ 1 username staff 0B May 13 22:23 Icon?

So entfernen Sie das Symbol^M Datei

Sollten Sie es aus irgendeinem Grund entfernen müssen... sagen versehentlich absichtlich testen.

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

Verweis aus meinem Beitrag auf eine andere Frage:

Wie kann ich leere Ordner löschen Mac OS X?

 7
Author: JayRizzo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-05-14 06:04:25

Die Icon^M-Datei ist eine versteckte macOS-Systemdatei, die ein benutzerdefiniertes Image für den enthaltenden Ordner verwaltet. Benutzer können diese Dateien jedoch aus anderen Gründen erstellt finden.

Beispielsweise würde die macOS-Version von Google Drive in jedem Ordner eine Symboldatei erstellen, um den Synchronisierungsstatus zu verfolgen.

Sie können diese Dateien sicher löschen. Führen Sie im Terminal aus dem übergeordneten Verzeichnis den folgenden Befehl aus: (achten Sie darauf, das ^M mit Strg-v, Strg-m einzufügen Tastatureingaben):

Zu Finden . -type f -name 'Symbol^M' -exec rm -f {} \;

 1
Author: Mike Conant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-04-16 18:13:13