본문 바로가기

IT's Life/Linux

Linux mv 명령 : 파일 이동 또는 이름 바꾸기


mv 명령 (이동의 줄임말)을 사용하면 파일이나 디렉토리의 이름을 바꿀뿐만 아니라 다른 디렉토리간에 파일이나 디렉토리를 이동할 수 있습니다. 명령의 기본 형식은 다음과 같습니다.

[root @ localhost ~] # mv [옵션] 소스 파일 객체 파일

옵션 :

  • -f : 강제 재 지정 대상 파일이 이미 존재하는 경우 묻지 말고 강제로 덮어 씁니다.
  • -i : 대화식 이동, 대상 파일이 이미 존재하는 경우 덮어 쓸지 여부를 사용자에게 묻습니다 (기본 옵션).
  • -n : 대상 파일이 이미 존재하면 이동을 겹쳐 쓰지 않고 사용자를 조회하지 않습니다.
  • -v : 파일 또는 디렉토리의 이동 프로세스를 표시합니다.
  • -u : 대상 파일이 이미 있지만 소스 파일이 업데이트 된 경우 대상 파일이 업그레이드됩니다.

rm 명령과 유사하게 mv 명령도 파괴적인 명령이므로 잘못 사용하면 시스템에 치명적인 결과를 초래할 수 있습니다. 


[예 1] 파일 또는 디렉토리를 이동하십시오.

[root @ localhost ~] # mv cangls / tmp 

# 이동 후 소스 파일이 삭제됩니다. 

[root @ localhost ~] # mkdir movie 

[root @ localhost ~] # mv movie / / tmp # 

또한 디렉토리 이동 . rm 및 cp와 달리 mv mobile 디렉토리는 "-r"옵션으로 추가 할 필요가 없습니다.

동일한 이름의 파일이 이동의 대상 위치에 이미 존재하는 경우 mv 명령은 기본적으로 "mv -i"의 별명을 수행하므로 덮어 쓸지 여부를 묻습니다.

[root @ localhost ~] # touch cangls 

# 파일을 다시 만듭니다 

[root @ localhost ~] # mv cangls / tmp 

mv : 카운티는 "tmp / cangls"를 포함합니까? y 

# cangls 파일이 / tmp 디렉토리에 이미 존재하므로 덮어 쓸지 묻는 메시지가 표시되므로 이동을 무시하려면 y를 수동으로 입력해야합니다.


[실시 예 2] 강제 이동. 

앞에서 언급했듯이 동일한 이름의 파일이 대상 디렉토리에 이미 있으면 파일을 덮어 쓸지 여부를 묻는 메시지가 표시되며 수동으로 확인해야합니다. 이때 같은 이름의 파일이 더 이동하면 한 번에 하나의 파일을 확인하는 것이 불편합니다. 

동일한 이름으로 기존 파일을 덮어 써야한다는 것을 확인하면 "-f"옵션을 사용하여 강제로 이동할 수 있으므로 사용자가 직접 확인할 필요가 없습니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] # touch cangls 

# 파일 재 작성 

[root @ localhost ~] # mv -f cangls / tmp 

# "-f"옵션으로 인해 같은 이름의 파일이 / tmp / 디렉토리에 이미 존재하더라도 필수 범위


[예 3] 움직임은 다루지 않습니다. 

덮어 쓰기 범위를 강제로 적용 할 수 있기 때문에 커버되지 않은 이동이 필요할 수도 있습니다. 이름이 같은 수백 개의 파일을 이동해야하지만 덮어 쓰지 않으려면 "-n"옵션의 도움이 필요합니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] # ls / tmp 

/ tmp / bols / tmp / cangls #bols 

및 cangls 파일은 / tmp / 디렉토리에 이미 존재합니다 

[root @ localhost ~] # mv -vn bols cangls lmls / tmp /, 

" Lmls "->"/ tmp / lmls " 

# 같은 이름의 파일을 / tmp / 디렉토리로 옮깁니다."- n "옵션을 사용하면 llms 만 이동하고 같은 이름의 bols 및 cangls가 이동하지 않는 것을 볼 수 있습니다 (" -v "옵션은 이동 프로세스를 표시합니다)


[예 4] 이름이 변경되었습니다. 

소스 파일과 대상 파일이 동일한 디렉토리에 있으면 이름이 바뀝니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] # mv bols lmls #bols 

를 lmls로 이름 바꾸기

동일한 방식으로 디렉토리 이름을 바꿀 수도 있습니다. 


[실시 예 5]는 이동 과정을 보여준다. 

이동 중에 어떤 파일이 이동했는지 알고 싶다면 "-v"옵션을 사용하여 자세한 모바일 정보를 볼 수 있습니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] # touch test1.txt test2.txt test3.txt # 

3 개의 테스트 파일 생성 

[root @ localhost ~] # mv -v * .txt / tmp 

"test1.txt"-> "/ tmp / test1 .txt " 

"test2.txt "->"/tmp/ 

test2.txt " "test3.txt "->"/tmp/test3.txt " 

# 가입하다"-v "옵션을 통해 어떤 파일이 이동했는지 확인할 수 있습니다