ioerror

mv - 파일 및 디렉터리 이동 및 이름 변경 본문

OS

mv - 파일 및 디렉터리 이동 및 이름 변경

반응형

mv - move (rename) files

리눅스 및 유닉스 환경에서 파일이나 디렉터리를 다른 위치로 이동시키거나, 혹은 이름을 변경할 때 사용하는 핵심 명령어이다. 윈도우의 '잘라내기 후 붙여넣기' 및 '이름 바꾸기' 기능이 이 명령어 하나로 통합되어 있다.

1. 명령어 용도

  • 특정 파일이나 디렉터리를 원하는 경로로 위치를 옮기고자 할 때 사용한다.
  • 동일한 디렉터리 내에서 파일이나 폴더의 이름을 새로 바꾸고자 할 때 사용한다.
  • 대량의 데이터를 다른 저장 장치나 파티션의 마운트 포인트로 전송할 때 사용한다.

2. 명령어 서식

mv [옵션] 원본 위치 목적지 위치

3. 명령어 옵션

옵션 설명 사용가능 OS 및 쉘
-i 이동할 위치에 이름이 같은 파일이 있으면 덮어쓸지 여부를 물어봄 (Interactive) 모든 OS 및 쉘
-f 동일한 이름의 파일이 있더라도 묻지 않고 강제로 덮어씀 (Force) 모든 OS 및 쉘
-n 이미 동일한 이름의 파일이 목적지에 존재하면 덮어쓰지 않고 이동을 취소함 모든 OS 및 쉘
-v 파일이 이동되거나 이름이 바뀌는 과정을 상세히 출력함 (Verbose) 모든 OS 및 쉘
-b 덮어쓰기 전 기존 목적지 파일의 백업본을 생성함 [Linux]

명령어 옵션 사용 결과 예시

# 1. 파일 이름 바꾸기 (동일 디렉터리 내)
mv old_name.txt new_name.txt
# 결과: old_name.txt 파일이 new_name.txt로 이름이 바뀜

# 2. 파일을 특정 디렉터리로 이동하기
mv report.docx /home/user/documents/

# 3. 안전하게 덮어쓰기 확인하며 이동 (-i)
mv -i update.tar.gz /var/www/html/
# 출력 예시: mv: overwrite '/var/www/html/update.tar.gz'? 

# 4. 여러 파일을 한 번에 디렉터리로 이동
mv file1.txt file2.txt file3.txt /backup/

# 5. 이동 과정 상세히 보기 (-v)
mv -v image.png /images/
# 출력: 'image.png' -> '/images/image.png'

4. 명령어 특이사항(유의사항)

  • 디렉터리 이동 시 특성: cp(복사) 명령어와 달리 mv 명령어는 디렉터리를 하위 구조까지 통째로 이동할 때 -r과 같은 별도의 재귀적(Recursive) 옵션을 붙이지 않아도 기본적으로 폴더 전체가 이동된다.
  • 덮어쓰기 주의: 기본 설정에 따라 별도의 경고 없이 목적지에 있는 동일 이름의 파일이 지워지고 덮어씌워질 수 있으므로, 위험한 작업을 할 때는 항상 -i 옵션을 붙이거나 쉘 별칭(alias mv='mv -i')을 등록해 두는 것이 안전하다.
  • 파일 시스템 간 이동 메커니즘: 같은 파티션(파일 시스템) 내에서의 mv는 데이터 블록을 물리적으로 이동시키지 않고 포인터(인덱스 노드 위치)만 수정하므로 용량이 아무리 커도 순식간에 끝난다. 반면, 서로 다른 디스크 파티션 간의 이동은 실제로 데이터를 복사한 후 원본을 삭제하는 방식으로 작동하므로 파일 크기에 비례해 시간이 소요된다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

반응형
Comments