Ícone? arquivo na área de trabalho do OS X

77

Quando eu ls my Desktop do terminal (usando ls ~/Desktop ), vejo um arquivo chamado Icon? . Tanto quanto eu posso dizer, está vazio ( nano Icon? não mostra nada). Ele não aparece na minha área de trabalho real e open Icon? mostra o alerta do Finder

This item is used by Mac OS X and can't be opened

Aqui está a saída 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"

Alguém tem uma idéia do que é isso?

    
por Chris 18.06.2011 / 05:43

3 respostas

93

O que é isso?

O nome é na verdade Icon\r , com \r sendo o retorno de carro 0x0D . Se deixar o shell completar automaticamente o caminho no Terminal, ele renderá Icon^M , ^M sendo \r .

Icon^M é um arquivo existente em todos os diretórios que possuem um ícone personalizado no Finder. Se você alterar o ícone de um diretório, por exemplo na caixa de diálogo Obter Informações colando uma imagem no ícone no canto superior esquerdo, o arquivo Icon^M é criado.

Alterar o ícone de um volume cria um arquivo .VolumeIcon.icns oculto.

Por que é invisível?

É invisível no Finder, porque seu atributo hidden está definido.

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

Altere com chflags nohidden Icon^M .

Onde estão seus dados?

Enquanto a bifurcação de dados do arquivo (ou seja, conteúdo) está vazia (ou seja, um tamanho de arquivo de 0 bytes no Terminal), os dados do ícone atual são armazenados no arquivo bifurcação de recursos .

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

Você pode copiar a bifurcação de recurso para um arquivo (para exibir, por exemplo, em um editor hexadecimal) assim:

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

Como posso visualizá-lo?

A maneira mais fácil de obter a imagem é copiar o ícone da caixa de diálogo Obter Informações da pasta contida na área de transferência e criar uma nova imagem da área de transferência na Visualização ( Cmd-N ). É uma imagem icns , por padrão.

Seu formato é JPEG 2000 de acordo com a versão do XnView do Mac OS e você deve ser capaz de abri-lo com esse programa. Parece não funcionar com outros programas que devem suportar o JPEG 2000, portanto, esta informação de formato provavelmente está errada.

    
por 18.06.2011 / 06:37
10

Um arquivo Icon? dentro de um diretório contém uma imagem de ícone personalizada para esse diretório. A imagem em si é armazenada dentro de um atributo de arquivo estendido, especificamente, com.apple.ResourceFork , e é por isso que o arquivo Icon? parece não ter comprimento.

Você pode recuperar esses dados com $ xattr -p com.apple.ResourceFork Icon? ou visualizar todos os atributos estendidos com $ xattr -l Icon?

No Snow Leopard, pelo menos, eles parecem ter sido eliminados por ícones do sistema (no caso de ~ / Desktop /, esse ícone ficaria visível ao visualizar seu diretório pessoal na exibição de ícones.), mas para os dois ícones de diretório que tenho no meu sistema, ele ainda existe.

    
por 18.06.2011 / 06:40
1

O que é isso?

É o arquivo que armazena a imagem para o seu ícone de pasta, só consegui criar isso se carreguei manualmente uma imagem na pasta. Eu não tenho esses no meu sistema por padrão.

Como encontrar o ícone ^ M arquivos

NOTA:

Isso não é o mesmo que a extensão do arquivo .icns .

Se você for paranóico se encontrar um falso positivo então use: ctrl + v ctrl + m em vez 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;

Como criar o ícone ^ M arquivo

  1. Abra o Finder
  2. Clique com o botão direito em uma pasta
  3. Pressione & Segure a Opção no seu teclado
  4. Selecione Mostrar inspetor
  5. Arraste uma imagem para o ícone da pasta na parte superior esquerda.
  6. Executar ls -lah nesse diretório
    1. Você deve ver:
      • -rw-r--r--@ 1 username staff 0B May 13 22:23 Icon?

Como remover o arquivo Icon ^ M

Se você precisar removê-lo por qualquer motivo ... diga acidentalmente de propósito para testá-lo.

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

Referência do meu post em outra pergunta:

Como posso excluir pastas vazias no Mac OS X?

    
por 14.05.2018 / 08:04