私はUbuntu 10を使用していますが、それが不便な場合は大文字と小文字が区別される(ターミナルでタブを使用してファイルパスをオートコンプリートする場合など)だけでなく、MVおよびCPコマンドを使用する場合も区別されない(また不便です)別のケースでファイル名を複製しようとした場合)。
要するに、このコマンドが機能する必要がありますが、機能しません。
cp ./filename.txt ./FileName.txt
filename.txt
:
大文字と小文字が異なる同じ名前の同じファイルを同じディレクトリに取得するにはどうすればよいですか?
編集:以下のMaericsのコメントは、大文字と小文字を区別しないNTFSを実行するWindows共有ドライブで実際に開発していることを思い出すのに役立ちました。これが、CPとMVがエラーを生成しなくても、ファイルがコピーされない(または、おそらくISコピーされますが、Windowsが既存のファイルを置き換える)理由です。
NTFS1 VFATは大文字と小文字を区別せず、大文字と小文字を区別するだけです。つまり、FileName.txt
という名前のファイルを作成すると、ファイルシステムは大文字と小文字が混在する名前を保持しますが、FILENAME.TXT
、filename.txt
、fileNAME.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
マウントオプションに応じてさまざまな動作でこれらのファイルシステムをマウントできます。
_$HOME/.inputrc
_に次の行を追加すると、bashで大文字と小文字を区別しないファイル名補完を有効にできます。
_set completion-ignore-case On
_
ファイル名に関して:これはファイルシステムに依存します。 Linuxファイルシステムでは、問題はありません。他のファイルシステムでは、mountコマンドのオプションを使用して動作を制御できます。マウント可能なオプションの詳細については、マニュアルページmount(8)
を参照してください。
これはファイルシステムのプロパティですか、それとも他のプロパティですか?
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
それは私にとってはうまくいきます。
Ubuntuは部分的に大文字と小文字を区別しません。常に大文字と小文字が区別されます。 filename.txt
およびFilename.txt
は2つの異なるファイルであり、同じディレクトリに配置できます。したがって、このコマンド:
cp ./filename.txt ./FileName.txt
同じディレクトリで問題なく動作します。