대문자로 시작하는 디렉토리의 이름을 같은 이름의 소문자로 바꾸는 방법은 무엇입니까?

대문자로 시작하는 디렉토리의 이름을 같은 이름의 소문자로 바꾸는 방법은 무엇입니까?

업데이트: @ctrl-alt-delor가 언급했듯이 이는 내가 사용 중인 파일 시스템(fuseblk)이 "대소문자 보존"이지만 "대소문자 무시"이기 때문입니다.

=====

나는 이것이 큰 사용 사례가 아니라는 것을 알고 있지만 이 작업을 많이 수행하므로 적어도 문제의 원인을 이해합니다.

mvmkdir/또는 프로세스에 관련된 셸의 다른 항목은 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

하나의 명령으로 이 작업을 수행하는 간단한 방법이 있습니까?

추신: 내가 찾은 가장 빠른 방법은

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

구성: 우분투 18.04

답변1

첫째, 홈 디렉토리는 ext4를 사용해서는 안 됩니다.

이것은 내가 아는 가장 간단하고 빠른 방법입니다(시간 및 메모리 복잡성은 O(1): 복사 없음).

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

mv지원하지 않으면 안전 -T하지 않게 무시할 수 있습니다. Gnu는 mv이를 지원합니다.

관련 정보