web-dev-qa-db-ja.com

Linuxは大文字と小文字を区別し、大文字と小文字を区別せず常に不便ですか?

私はUbuntu 10を使用していますが、それが不便な場合は大文字と小文字が区別される(ターミナルでタブを使用してファイルパスをオートコンプリートする場合など)だけでなく、MVおよびCPコマンドを使用する場合も区別されない(また不便です)別のケースでファイル名を複製しようとした場合)。

要するに、このコマンドが機能する必要がありますが、機能しません。

cp ./filename.txt ./FileName.txt

filename.txt

enter image description here

大文字と小文字が異なる同じ名前の同じファイルを同じディレクトリに取得するにはどうすればよいですか?

編集:以下のMaericsのコメントは、大文字と小文字を区別しないNTFSを実行するWindows共有ドライブで実際に開発していることを思い出すのに役立ちました。これが、CPとMVがエラーを生成しなくても、ファイルがコピーされない(または、おそらくISコピーされますが、Windowsが既存のファイルを置き換える)理由です。

8
anon58192932

NTFS1 VFATは大文字と小文字を区別せず、大文字と小文字を区別するだけです。つまり、FileName.txtという名前のファイルを作成すると、ファイルシステムは大文字と小文字が混在する名前を保持しますが、FILENAME.TXTfilename.txtfileNAME.txtのように、同じ文字の大文字と小文字を組み合わせてファイルにアクセスできます。これは、同じディレクトリ内に大文字と小文字のバリエーションのみを持つ同じスペルの2つのファイルを持つことはできないことを説明しています。

SMBエクスポートファイルシステムは、Windowsクライアントを混乱させないようにこの動作を実装する必要があります。

ZFSは、casesensitivity=mixedプロパティを使用してそのように動作するように構成できます。

1技術的には、NTFSは大文字と小文字を区別しますが、このタイプのファイルシステムをマウントするOSは、ほとんどの場合、この基本的な機能を隠し、大文字と小文字のみを保持するように構成されます。ただし、WindowsはこのレジスタキーHKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitiveを変更して大文字と小文字の区別を有効にすることができ、Linuxはignore_caseおよびwindows_namesマウントオプションに応じてさまざまな動作でこれらのファイルシステムをマウントできます。

4
jlliagre

_$HOME/.inputrc_に次の行を追加すると、bashで大文字と小文字を区別しないファイル名補完を有効にできます。

_set completion-ignore-case On
_

ファイル名に関して:これはファイルシステムに依存します。 Linuxファイルシステムでは、問題はありません。他のファイルシステムでは、mountコマンドのオプションを使用して動作を制御できます。マウント可能なオプションの詳細については、マニュアルページmount(8)を参照してください。

11
nosid

これはファイルシステムのプロパティですか、それとも他のプロパティですか?

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

それは私にとってはうまくいきます。

2
D.Shawley

Ubuntuは部分的に大文字と小文字を区別しません。常に大文字と小文字が区別されます。 filename.txtおよびFilename.txtは2つの異なるファイルであり、同じディレクトリに配置できます。したがって、このコマンド:

cp ./filename.txt ./FileName.txt

同じディレクトリで問題なく動作します。

1
P.P