¿Linux distingue entre mayúsculas y minúsculas y no distingue entre mayúsculas y minúsculas y siempre es inconveniente?

¿Linux distingue entre mayúsculas y minúsculas y no distingue entre mayúsculas y minúsculas y siempre es inconveniente?

Estoy usando Ubuntu 10 y rápidamente descubro que distingue entre mayúsculas y minúsculas cuando es inconveniente que sea así (como cuando se completan automáticamente las rutas de archivos con tabulador en la terminal) pero también distingue entre mayúsculas y minúsculas cuando se usan los comandos MV y CP (también inconveniente al intentar duplicar un nombre de archivo con un caso diferente).

En esencia, necesito que este comando funcione pero no funciona.

cp ./filename.txt ./FileName.txt

Simplemente termino con filename.txt:

ingrese la descripción de la imagen aquí

¿Cómo puedo obtener el mismo archivo con un caso diferente pero el mismo nombre en el mismo directorio?

EDITAR: El comentario de Maerics a continuación me ayudó a recordar que en realidad estoy desarrollando en una unidad compartida de Windows que ejecuta NTFS, que no distingue entre mayúsculas y minúsculas. Es por esto que aunque CP y MV no generan un error, el archivo no se copia (o más probablemente SE copia, pero Windows reemplaza el ya existente).

Respuesta1

NTFS 1 y VFAT no distinguen entre mayúsculas y minúsculas, solo las conservan. Eso significa que si crea un archivo llamado FileName.txt, el sistema de archivos conservará el nombre de mayúsculas y minúsculas, pero podrá acceder al archivo con cualquier combinación de mayúsculas y minúsculas de las mismas letras, FILENAME.TXTcomo filename.txto fileNAME.txt. Esto explica que no puede tener dos archivos con la misma ortografía con solo una variación de mayúsculas/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 la casesensitivity=mixedpropiedad.

1 Técnicamente, NTFS distingue entre mayúsculas y minúsculas, pero los sistemas operativos que montan sistemas de archivos de este tipo casi siempre están configurados para ocultar esta característica subyacente y solo conservar 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:ObCaseInsensitivey Linux puede montar estos sistemas de archivos con varios comportamientos dependiendo de las opciones ignore_casede windows_namesmontaje.

Respuesta2

Puede habilitar la finalización de nombres de archivos sin distinguir entre mayúsculas y minúsculas en bash agregando la siguiente línea a $HOME/.inputrc:

set completion-ignore-case On

Respecto a los nombres de los archivos: esto depende del sistema de archivos. En los sistemas de archivos Linux, no debería haber ningún problema. En otros sistemas de archivos, el comportamiento se puede controlar con opciones del comando de montaje. Consulte la página del manual mount(8)para obtener más información sobre las opciones disponibles para montar.

Respuesta3

¿Es esto 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í.

Respuesta4

Ubuntu no distingue parcialmente entre mayúsculas y minúsculas. Siempre distingue entre mayúsculas y minúsculas. filename.txty Filename.txtson dos archivos diferentes y se pueden colocar en el mismo directorio. Entonces este comando:

cp ./filename.txt ./FileName.txt

funcionará sin ningún problema en el mismo directorio.

información relacionada