A migração de sistemas operacionais, como do Windows para o Linux, é uma tarefa importante para muitas empresas e usuários individuais. No entanto, uma das questões que podem surgir durante esse processo é a diferença na convenção de nomenclatura de arquivos. Enquanto o Windows não faz distinção entre maiúsculas e minúsculas na nomenclatura de arquivos, o Linux é case-sensitive, o que significa que "Arquivo.txt", "ArquiVo.txt" e "arquivo.txt" são tratados como arquivos diferentes. Portanto, para garantir uma transição tranquila e evitar possíveis problemas de compatibilidade, é importante que todos os nomes de arquivos e diretórios estejam em letras minúsculas.
Neste artigo, abordamos a conversão dos nomes dos arquivos e diretórios para apoiar aos que se encontram em uma jornada de migração.
Desafio: Nomes de arquivos em maiúsculas no Windows
Ao migrar para o Linux a partir do Windows, é comum encontrar diretórios e arquivos que usam letras maiúsculas na nomenclatura. Essa diferença de convenção pode causar confusão e erros em sistemas Linux, onde a distinção entre maiúsculas e minúsculas é rigorosamente aplicada.
Solução: Script para renomear arquivos e diretórios em letras minúsculas
Para enfrentar esse desafio, é possível usar um script simples em shell para renomear todos os diretórios e arquivos em letras minúsculas. Abaixo está um script de exemplo que pode ser usado para realizar essa tarefa:
Como usar o script:
- Salve o script em um arquivo com extensão .sh, por exemplo, rename_to_lowercase.sh. No teste realizado, o script foi salvo no diretório /totvs/protheus_data/ usando o editor vim. Você pode usar outros editores, como o nano ou o gedit, se preferir.
Dê permissão de execução ao script:
chmod +x rename_to_lowercase.sh
- Edite o script para especificar o diretório que deseja verificar e o nome do arquivo de log.
Execute o script:
./rename_to_lowercase.sh
Exemplo da execução do arquivo:
Esse procedimento foi executado em 70GB de protheus_data, neste exemplo.
Em resumo
O script "rename_to_lowercase.sh" irá percorrer o diretório especificado e seus subdiretórios, renomeando todos os diretórios e arquivos para letras minúsculas. As alterações serão registradas no arquivo de log (definido na variável LOGFILE).