Lorsque je ls
mon bureau à partir du terminal (en utilisant ls ~/Desktop
), je vois un fichier nommé Icon?
. Autant que je sache, il est vide (nano Icon?
ne montre rien). Il ne s'affiche pas sur mon bureau actuel et open Icon?
affiche l'alerte du Finder.
Cet élément est utilisé par Mac OS X et ne peut pas être ouvert.
Voici le résultat de 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"
Est-ce que quelqu'un a une idée de ce que c'est?
Son nom est en fait Icon\r
, \r
étant le retour chariot 0x0D
. Si le shell complète automatiquement le chemin d'accès dans Terminal, il génère Icon^M
, ^M
étant \r
.
Icon^M
est un fichier existant dans tous les répertoires ayant une icône personnalisée dans le Finder. Si vous modifiez l’icône d’un répertoire, par exemple dans son dialogue Obtenir des informations en collant une image dans l'icône située dans le coin supérieur gauche, le fichier Icon^M
est créé.
La modification de l'icône d'un volume crée un fichier .VolumeIcon.icns
masqué.
Il est invisible dans le Finder, car son attribut hidden
est défini.
$ ls -lO Icon^M
-rw-r--r--@ 1 danielbeck staff hidden 0 24 Apr 23:29 Icon?
Changer avec chflags nohidden Icon^M
.
Alors que le fichier fork (c.-à-d. Le contenu) du fichier est vide (c’est-à-dire que la taille du fichier dans Terminal est de 0 octets), les données d’icône réelles sont stockées dans le fichier fork du fichier .
$ ls -l@ Icon^M
com.Apple.ResourceFork 350895
Vous pouvez copier la branche de ressources dans un fichier (pour l'afficher par exemple dans un éditeur hexadécimal) comme ceci:
$ cp Icon^M/..namedfork/rsrc Icondata
Le moyen le plus simple d’obtenir l’image est de copier l’icône de la boîte de dialogue Obtenir des informations du dossier qui la contient dans le Presse-papiers, puis de créer une nouvelle image à partir du Presse-papiers dans Aperçu ( Cmd-N
). C'est une image icns
puis par défaut.
Son format est JPEG 2000 selon la version Mac OS de XnView et vous devriez pouvoir l'ouvrir avec ce programme. Cela ne semble pas fonctionner avec les autres programmes qui devraient supporter JPEG 2000, ce format est donc probablement faux.
Un fichier Icon?
dans un répertoire contient une image d'icône personnalisée pour ce répertoire. L'image elle-même est stockée dans un attribut de fichier étendu, plus précisément, com.Apple.ResourceFork
, raison pour laquelle le fichier Icon?
ne semble pas avoir de longueur.
Vous pouvez récupérer ces données avec $ xattr -p com.Apple.ResourceFork Icon?
ou afficher tous les attributs étendus avec $ xattr -l Icon?
Sous Snow Leopard, au moins, elles semblent avoir été supprimées progressivement pour les icônes système (dans le cas de ~/Desktop /, cette icône serait visible lors de l'affichage de votre répertoire de base dans la vue des icônes.) Mais pour les deux icônes de répertoire personnalisées I avoir sur mon système, il existe toujours.
C'est le fichier qui stocke l'image pour l'icône de votre dossier. Je n'ai pu le créer que si j'avais chargé manuellement une image dans le dossier. Je ne les ai pas sur mon système par défaut.
REMARQUE:
Ce n'est pas la même chose que .icns
extension de fichier.
Si vous êtes paranoïaque à propos de la découverte d’un faux positif, utilisez:ctrl+vctrl+m au lieu de ?
#!/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;
ls -lah
sur ce répertoire -rw-r--r--@ 1 username staff 0B May 13 22:23 Icon?
Si vous avez besoin de le retirer pour une raison quelconque ... dites-le accidentellement à des fins de test.
#!/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;
Référence de mon post sur une autre question: