O comando cp diferencia maiúsculas de minúsculas no OS X Mavericks (10.9)?

5

Isso é um bug no OS X ou eu tenho algo mal configurado?

$ touch aaa
$ ls -l
total 0
-rw-r--r--  1 jchen  1366545133  0 Feb 16 16:08 aaa
$ cp aaa AAA
cp: AAA and aaa are identical (not copied).
$ ln -s aaa AAA
ln: AAA: File exists
$ env | grep SHELL
SHELL=/bin/bash

Parece que cp e ln no OS X não diferenciam maiúsculas de minúsculas. Eu nunca percebi isso até que tentei criar um link simbólico como uma pasta em maiúsculas para um nome de minúscula.

No Linux, nunca vi tal problema.

    
por Jingshao Chen 16.02.2014 / 22:24

2 respostas

6

O problema é que o sistema de arquivos HFS + OS X é executado por padrão é insensível a maiúsculas e minúsculas.

Em Utilitário de Disco você pode apagar e reparticionar volumes para usar uma versão case sensitive do HFS + - ele pode ser selecionado como um formato:

A alteração da diferenciação de maiúsculas e minúsculas do volume de inicialização é mais difícil e geralmente envolve a formatação da unidade e a restauração a partir de um backup.

    
por 16.02.2014 / 22:27
3

Por padrão, o sistema de arquivos do OS X não faz distinção entre maiúsculas e minúsculas.

Você pode optar por usar um sistema de arquivos com distinção entre maiúsculas e minúsculas ao instalar o Mac OS. Isso, no entanto, causará problemas em alguns softwares (por exemplo, Adobe Creative Suite). Como mencionado no comentário abaixo por Joe Block, será melhor criar um sistema de arquivos com distinção entre maiúsculas e minúsculas em um volume ou imagem de disco que não seja de inicialização.

Você pode criar uma imagem de disco com o sistema de arquivos que faz distinção entre maiúsculas e minúsculas, usando o Utilitário de Disco, seguindo o guia fornecido pela Apple . Você também pode criar uma imagem de disco a partir da linha de comando (por exemplo, usando esta resposta em Ask Different), mas certifique-se de especificar o sistema de arquivos correto.

Para criar uma imagem de disco de 2 GB com sistema de arquivos com distinção entre maiúsculas e minúsculas, você pode executar o seguinte comando:

hdiutil create -size 2g -fs 'Case-sensitive Journaled HFS+' \
  -type SPARSEBUNDLE ~/path/to/your/image
    
por 16.02.2014 / 22:28

Tags