O diretório de backup do unix do Mac não pode ser listado na linha de comando

1

Postando isso para aprender e sei que isso viola a melhor prática do UNIX ou até mesmo o bom senso normal, mas acho que é isso que os computadores Macintosh fazem às vezes. Eu tenho uma unidade de backup com diretórios de backup que se parecem com isso:

>$ tmutil listbackups
/Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-01-18-143624
/Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-03-10-011602
/Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-03-13-014248
/Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-04-10-224116

Na linha de comando, se eu tentar usar ls para listar o conteúdo de um deles, estou com problemas por causa do ' . Note que eu tentei sugestões encontradas em outros posts sobre copiar e colar o caminho para garantir que ele está usando o mesmo apóstrofo, substituindo *. e até mesmo tentei \ escapar dele. Mas eu recebo um erro desconhecido do diretório toda vez. Eu também tentei colocar o caminho inteiro entre aspas duplas e também apenas a pasta no caminho com o apóstrofo entre aspas duplas. Ainda sem sorte.

Qual é a sintaxe correta para obter uma listagem do diretório fornecido acima? Que tal usar um curinga na variante de comando ls para listar o que está em todos os diretórios de 2018-03* ?

Em uma nota final: a melhor solução provavelmente seria perder o apóstrofo, mas isso é criado automaticamente pelo Macintosh durante os backups. O que a Apple estava pensando?

Atualizações: para adicionar mais confusão a essa pergunta

  • sudo tmutil delete "/Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-03-10-011602" funciona
  • ls não

Ainda assim, posso verificar se esse caminho existe e até visualizar o conteúdo por meio da interface do usuário do "finder" do Mac.

    
por TMWP 11.04.2018 / 17:50

1 resposta

0

Desculpas para o usuário que postou sobre aspas duplas. Testes adicionais revelam que isso não é um problema de UNIX , mas possivelmente um problema de Mac . De alguma forma, copiar e colar todo o caminho no comando e envolvê-lo em aspas duplas produzia algo que parecia idêntico ao original, mas agora estou pensando que de alguma forma deve ter sido diferente.

Se eu colasse o caminho em partes e testasse cada pedaço, criando um caminho que correspondesse ao original, o problema desapareceu. A sintaxe UNIX adequada para responder a ambas as perguntas (listar a pasta e usar um curinga como no exemplo da pergunta), as respostas ficariam assim:

  1. ls "Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-03-10-011602"
  2. ls "Volumes/My Backup Dr/Backups.backupdb/User’s MacBook Pro/2018-03-"*

O segundo exemplo listaria todo o conteúdo das pastas de março na minha unidade de backup. Observe que o * precisa estar fora do padrão de diretório com aspas duplas.

    
por 11.04.2018 / 18:18

Tags