Puede habilitar la finalización de nombre de archivo sin distinción entre mayúsculas y minúsculas en bash agregando la siguiente línea a $HOME/.inputrc
:
set completion-ignore-case On
En cuanto a los nombres de los archivos:Esto depende del sistema de archivos. En los sistemas de archivos de Linux, no debería haber ningún problema. En otros sistemas de archivos, el comportamiento se puede controlar con opciones para el comando de montaje. Ver la página del manual mount(8)
para obtener más información sobre las opciones disponibles para montar.
NTFS y VFAT no distinguen entre mayúsculas y minúsculas, solo conservan mayúsculas y minúsculas. Eso significa que si crea un archivo llamado FileName.txt
, el sistema de archivos conservará el nombre de mayúsculas y minúsculas, pero puede acceder al archivo con cualquier combinación de mayúsculas y minúsculas de las mismas letras, como FILENAME.TXT
, filename.txt
o fileNAME.txt
. Esto explica que no puede tener dos archivos con la misma ortografía con solo una variación de mayúsculas y minúsculas en el mismo directorio.
El sistema de archivos exportado SMB debe implementar este comportamiento para no confundir a los clientes de Windows.
ZFS se puede configurar para que se comporte de esa manera con el casesensitivity=mixed
propiedad.
Técnicamente, NTFS distingue entre mayúsculas y minúsculas, pero los sistemas operativos de montaje de archivos de este tipo casi siempre están configurados para ocultar esta característica subyacente y solo preservar las mayúsculas y minúsculas. Sin embargo, Windows puede habilitar la distinción entre mayúsculas y minúsculas modificando esta clave de registro HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
y Linux puede montar estos sistemas de archivos con varios comportamientos dependiendo del ignore_case
y windows_names
opciones de montaje.
¿Es esta una propiedad del sistema de archivos o algo más?
pa-ubuntu-11388$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.3 LTS
Release: 10.04
Codename: lucid
pa-ubuntu-11388$ ls -l
pa-ubuntu-11388$ touch filename.txt
pa-ubuntu-11388$ ls -l
-rw-r--r-- 1 dshawley dev 0 May 31 15:17 filename.txt
pa-ubuntu-11388$ cp ./filename.txt ./FileName.txt
pa-ubuntu-11388$ ls -l
-rw-r--r-- 1 dshawley dev 0 May 31 15:17 FileName.txt
-rw-r--r-- 1 dshawley dev 0 May 31 15:17 filename.txt
Funciona bien para mí.