Estou usando o Ubuntu 10 e estou descobrindo rapidamente que é sensível a maiúsculas e minúsculas quando é inconveniente (como no preenchimento automático de caminhos de arquivos com guia no terminal), mas também sensível a maiúsculas e minúsculas ao usar os comandos MV e CP (também inconveniente ao tentar duplicar um nome de arquivo com um caso diferente).
Em essência, eu preciso desse comando para funcionar, mas não funciona.
cp ./filename.txt ./FileName.txt
Acabo com filename.txt
:
Como posso obter o mesmo arquivo com um caso diferente, mas o mesmo nome no mesmo diretório?
EDIT: O comentário dos Maerics abaixo me ajudou a lembrar que, na verdade, estou desenvolvendo uma unidade compartilhada do Windows executando NTFS, que é sensível a maiúsculas e minúsculas. É por isso que, embora o CP e o MV não gerem um erro, o arquivo não é copiado (ou provavelmente é copiado, mas o Windows substitui o já existente).
Respostas:
O NTFS 1 e o VFAT não diferenciam maiúsculas de minúsculas, apenas preservam maiúsculas e minúsculas. Isso significa que, se você criar um arquivo nomeado
FileName.txt
, o sistema de arquivos preservará o nome de maiúsculas e minúsculas, mas você poderá acessar o arquivo com qualquer combinação de maiúsculas e minúsculas das mesmas letras, comoFILENAME.TXT
,filename.txt
oufileNAME.txt
. Isso explica que você não pode ter dois arquivos com a mesma ortografia com apenas uma variação de maiúsculas / minúsculas no mesmo diretório.O sistema de arquivos exportados SMB precisa implementar esse comportamento para não confundir os clientes Windows.
O ZFS pode ser configurado para se comportar dessa maneira com a
casesensitivity=mixed
propriedade1 Tecnicamente, o NTFS diferencia maiúsculas de minúsculas, mas os sistemas operacionais que montam sistemas de arquivos desse tipo quase sempre são configurados para ocultar esse recurso subjacente e preservar apenas o caso. No entanto, o Windows pode ativar a distinção entre maiúsculas e minúsculas com a modificação dessa chave de registro
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
e o Linux pode montar esses sistemas de arquivos com vários comportamentos, dependendo das opçõesignore_case
e dewindows_names
montagem.fonte
Você pode ativar a conclusão de nome de arquivo que não diferencia maiúsculas de minúsculas no bash adicionando a seguinte linha a
$HOME/.inputrc
:Em relação aos nomes dos arquivos: isso depende do sistema de arquivos. Nos sistemas de arquivos Linux, não deve haver problema. Em outros sistemas de arquivos, o comportamento pode ser controlado com opções para o comando mount. Consulte a página do manual
mount(8)
para obter mais informações sobre as opções disponíveis para montagem.fonte
Isso é uma propriedade do sistema de arquivos ou algo mais?
Isso funciona bem para mim.
fonte
O Ubuntu não é parcialmente sensível a maiúsculas. É sempre sensível a maiúsculas.
filename.txt
eFilename.txt
existem dois arquivos diferentes e podem ser colocados no mesmo diretório. Portanto, este comando:funcionará sem nenhum problema no mesmo diretório.
fonte
filename.txt
no diretório atual?