명령 행을 통해 디렉토리의 이름을 바꾸려면 어떻게합니까?


답변:


737
mv /home/user/oldname /home/user/newname


멋진 기사. 그것이 바로 요점입니다.
Rafał Cieślak

77
새 이름이 이미 기존 디렉토리 인 경우 작동하지 않습니다. 대신 이전 디렉토리를 새 디렉토리로 이동합니다.
cxrodgers

9
디렉토리 이름이 대문자와 같으면 얻을 것이다 No such file or directory. 이것을 피하려면 다음과 같이하십시오 mv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folder.
DutGRIFF

9
@cxrodgers : 대상 디렉토리로 취급하지 않도록 패스 --no-target-directory( -T)newname .
jfs

123

mv 두 가지 일을 할 수 있습니다.

  1. 파일이나 디렉토리를 이동할 수 있습니다
  2. 파일이나 디렉토리의 이름을 바꿀 수 있습니다

파일 또는 디렉토리의 이름을 바꾸려면 터미널에 다음을 입력하십시오.

mv old_name new_name 

이전 이름과 새 이름 사이에 공백이 있습니다.

파일이나 디렉토리를 이동하려면 터미널에 이것을 입력하십시오.

mv file_name ~/Desktop 

파일을 데스크탑으로 이동시킵니다.

디렉토리 인 경우 -R디렉토리 이름 앞에 추가 해야합니다.

mv -R directory_name ~/Desktop

3
mv우분투에서 GNU coreutils에서 온 것입니다. AFAICT에는 -R옵션이 없으며 디렉토리를 이동할 때 필요 하지 않습니다 .
arielf

-r도 작동하지 않음
user1735921

올바른 옵션은 -T입니다. 동작에 대해서는 @bmaupin의 답변 을 참조하십시오 .
크로노

39
mv -T /home/user/oldname /home/user/newname

대상이 존재하지 않거나 존재하지만 비어 있으면 디렉토리의 이름이 바뀝니다. 그렇지 않으면 오류가 발생합니다.

대신 이렇게하면 :

mv /home/user/oldname /home/user/newname

다음 두 가지 중 하나가 발생합니다.

  • 경우 /home/user/newname존재하지 않는, 그것은 이름을 바꿉니다 /home/user/oldnameto/home/user/newname
  • 경우 /home/user/newname존재, 그것은 이동 /home/user/oldname/home/user/newname, 즉,/home/user/newname/oldname

출처 : mv가 디렉토리를 바꾸지 않고 디렉토리로 옮기는 방법을 결정하는 방법은 무엇입니까?


대소 문자를 구분하지 않는 파일 시스템 (예 : MacOS)에서 디렉토리 이름을 대문자로 사용하려는 경우 작동하지 않습니다. mv -T $PWD/analisys $PWD/Analisys을 반환합니다 mv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file. 중간 이름 (즉 analisys_) 을 사용 하여이 문제를 해결했습니다 .
basilikode

파일 시스템의 한계로 인해 명령이 성공적으로 완료되지 않았을 수도 있지만 다른 관점에서는 의도를 해석하는 데 성공했습니다 (디렉토리 이름 바꾸기, 이동하지 않음) :)
bmaupin

이것을 시도 했습니까?
Mahmoud S. Marwad

5

파일 시스템 레벨에서 디렉토리의 이름을 바꾸려면 (예 : 홈 디렉토리에 있고 홈 디렉토리에도있는 디렉토리의 이름을 바꾸려는 경우) :

mv Directory ./NewNameDirectory

4

gvfs-move명령은 파일과 디렉토리의 이름도 바꿉니다.

gvfs-move /home/user/oldname /home/user/newname

3

gvfs-rename은 디렉토리 이름도 변경합니다. 새 이름의 디렉토리가 이미 존재하면 오류가 발생합니다. 유일한 제한은 폴더 이름으로 경로를 사용할 수 없다는 것입니다. 그래서

gvfs-rename /home/boo /home/boo-the-dog 

작동하지 않지만

cd /home 
gvfs-rename boo boo-the-dog 

작동합니다. mv -T만큼 유용하지는 않지만 네트워크 운영을위한 사람이라는 것을 읽었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.