Puoi abilitare il completamento del nome file senza distinzione tra maiuscole e minuscole in bash aggiungendo la seguente riga a $HOME/.inputrc
:
set completion-ignore-case On
Per quanto riguarda i nomi dei file:questo dipende dal file system. Sui file system Linux, non dovrebbero esserci problemi. Su altri file system, il comportamento può essere controllato con le opzioni del comando mount. Vedi la pagina di manuale mount(8)
per ulteriori informazioni sulle opzioni disponibili per il montaggio.
NTFS e VFAT non fanno distinzione tra maiuscole e minuscole, ma solo la conservazione delle maiuscole. Ciò significa che se crei un file chiamato FileName.txt
, il file system conserverà il nome misto maiuscolo/minuscolo, ma puoi accedere al file con qualsiasi combinazione maiuscola/minuscola delle stesse lettere, come FILENAME.TXT
, filename.txt
o fileNAME.txt
. Questo spiega che non puoi avere due file con la stessa ortografia con solo una variazione di lettere maiuscole/minuscole nella stessa directory.
Il file system esportato da SMB deve implementare questo comportamento per non confondere i client Windows.
ZFS può essere configurato per comportarsi in questo modo con il casesensitivity=mixed
proprietà.
Tecnicamente, NTFS fa distinzione tra maiuscole e minuscole, ma i sistemi operativi che montano file system di questo tipo sono quasi sempre configurati per nascondere questa caratteristica sottostante e preservare solo le maiuscole e minuscole. Windows può tuttavia abilitare la distinzione tra maiuscole e minuscole modificando questa chiave di registro HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
e Linux può montare questi file system con vari comportamenti a seconda del ignore_case
e windows_names
opzioni di montaggio.
È una proprietà del filesystem o qualcos'altro?
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
Funziona bene per me.