Eu tenho um script bash que copia dados para um stick USB. Funciona. Os dados são copiados bem, mas os nomes dos arquivos são sempre alterados. Eles são os mesmos que eram antes, mas os nomes mais longos são cortados para apenas 8 caracteres de comprimento e têm uma extensão de apenas 3 caracteres (11 caracteres máximos no total).
Assim, um arquivo original chamado "willGetCutShorter.html" se torna "willGetS.htm" na unidade, enquanto "small.txt" permanece o mesmo. Nomes de diretórios copiados são cortados da mesma maneira, todos aparecendo 8 caracteres (sem extensão, é claro).
Eu não quero que isso aconteça. Eu quero que os nomes de arquivos e diretórios não sejam modificados. Eu não sei porque isso está acontecendo também.
No meu script bash, eu copio tudo no diretório do meu computador para a unidade usando um asterisco para representar todo o conteúdo do diretório do computador. Eu estou querendo saber se é por isso? Talvez cp esteja apenas pegando parte do nome do arquivo?
Além disso, enquanto no Linux os arquivos aparecem todos em letras minúsculas, mesmo coisas que originalmente eram em letras maiúsculas. No entanto, no Windows, todos os arquivos e pastas são maiúsculos.
Por quê?
EDIT # 1
Formatei a unidade USB em uma máquina com Windows 7 antes de começar a usá-la dessa maneira. No meu arquivo /etc/fstab
eu adicionei uma entrada para a unidade que monta como msdos. Isso foi porque eu li uma página de manual (provavelmente 'man mount') e ela disse que o formato da unidade, que é FAT32, é coberto por msdos.
Eu queria montá-lo com FAT32 como o tipo de sistema de arquivos, mas não consegui ver essa opção na página de manual de montagem. A entrada fstab significa que o comando mount consiste apenas nisso:
sudo mount /mnt/
Os comandos de cópia no script bash são todos assim:
cp -f -r /path/to/dir/* /mnt/to/dir/
Parece que eu preciso apenas reformatar a unidade para outra coisa ou montá-la de maneira um pouco diferente?