大文字で始まるディレクトリの名前を同じ名前の小文字に変更するには?

大文字で始まるディレクトリの名前を同じ名前の小文字に変更するには?

更新:@ctrl-alt-delorが述べたように、これは私が使用しているファイルシステム(fuseblk)が「大文字と小文字の保存」ですが「大文字と小文字を無視する」ためです。

=====

私はこれが大きなユースケースではないことを知っていますが、これはたくさん行われているので、少なくとも問題の原因を理解しています。

mvおよびmkdir/またはプロセスに関連するシェルの他のエントリは大文字と小文字mkdirを区別するため、エラーが発生します。

x@host :/ $ ls
Dir 

x@host :/ $ mv Dir/ dir
mv: cannot move 'Dir/' to a subdirectory of itself, 'dir/Dir'

x@host :/ $ mkdir dir
mkdir: cannot create directory ‘dir’: File exists

1つのコマンドでこれを行う簡単な方法はありますか?

PS:私が見つけた最速の方法は

mkdir tmp ; cd tmp ; mkdir dir ; mv ../Dir/* dir/ ; cd .. ; rm -r Dir ; mv tmp/dir . ; rm -r tmp

構成:Ubuntu 18.04

ベストアンサー1

まず、ホームディレクトリはext4を使用しないでください。

これは私が知っている最も簡単で迅速な方法です(時間とメモリの複雑さはO(1):コピーなし)。

mv -T Dir dir-tmp-name; mv -T dir-tmp-name dir

mvサポートしていない場合は安全-Tに無視できます。 Gnuはmvこれをサポートしています。

おすすめ記事