Argumento inválido ao copiar arquivos com? no nome do arquivo no OS X

3

Estou tentando copiar arquivos de um compartilhamento AFP para um compartilhamento SMB.

Vários arquivos no compartilhamento AFP têm ? no nome. Se eu tentar copiá-los, recebo um argumento inválido '.

Eu não sei como os arquivos receberam ? no nome.

Aqui está um exemplo:

user$ cp tes?t /mnt/share/
cp: tes?t: invalid argument

Eu tentei renomear o arquivo, mas recebo uma mensagem de erro 'ocupada por recursos'.

O que posso fazer para copiar os arquivos?

    
por WinstonSmith 03.08.2012 / 14:59

3 respostas

3

Escape a máscara da pergunta com uma barra invertida:

$ cp tes\?t /mnt/share/
    
por 03.08.2012 / 16:48
0

Está removendo a opção ? an? Esse é um caractere inválido para um arquivo ou nome de caminho em sistemas de arquivos compatíveis com NTFS, já que na verdade é um curinga de um caractere.

O erro resource busy é provavelmente um resultado do ? ser interpretado como um caractere curinga, e o sistema de arquivos tentando acessar todos os nomes de arquivos possíveis e inválidos que ele acredita que possam representar.

Tenho certeza de que você terá que acessar os arquivos de um sistema de arquivos que não considera ? um caractere inválido (é um caractere válido em Macs?) para substituir o ? por um válido. .

    
por 04.08.2012 / 01:39
0

Os símbolos ? representam caracteres não reconhecidos.

O mais provável é que o problema aqui é que o AFP usa nomes de arquivos UTF-8, mas você não está logado no sistema que montou o compartilhamento AFP usando uma localidade UTF-8. Se for uma caixa do Linux, você pode verificar sua localidade usando o comando locale .

Se você descobrir que não está usando uma localidade UTF-8, poderá alterar temporariamente a localidade com algo como:

export LC_ALL="en_US.UTF-8"
    
por 04.08.2012 / 02:33