본문 바로가기
OS/Linux

명령어 - MV (rm 대신 덮어쓰기..)

by beomzh 2023. 7. 25.
728x90
반응형

mv는 리눅스 명령행에서 파일을 옮기거나 이름을 변경하는데 사용하는 명령어이다. 너무나도 당연하게도 move의 줄임말이다. 간단하게 명령어와 원본파일 그리고 옮길대상(또는 변경될 파일 이름)을 나열하여 사용한다

기본 양식

- $ mv [옵션] [원본파일/디렉토리] [사본파일/디렉토리]

 

파일이동

파일을 옮기기 위해서는 mv 명령어 다음 원본파일을 입력하고, 그다음에 대상 디렉토리이름을 입력한다.

-ex) $ mv test test_dir

위와 같이 입력하면 현재 디렉토리의test 이라는 파일이 현재 디렉토리의 서브 디렉토리인 'test_dir'로 이동하게 된다. 이때 파일명은 유지된다.

 

파일명 변경

대상 디렉토리명 대신 파일 이름을 입력하면 그 파일 이름으로 원본파일의 이름이 변경된다.

-ex) $ mv test test01

위 명령어를 실행하면 현재 디렉토리에 있는 test 라는 파일의 이름이 test01라는 파일로 이름이 변경된다.

 

파일 이동 후 이름 변경

이동과 변경을 조합하여 지정된 파일을 정해진 디렉토리에 지정된 파일명으로 옮기는 것도 가능하다.

-ex) $ mv test test_dir/test01

이 경우는 현재 디렉토리에 있는test 라는 파일을 현재 디렉토리의 서브 디렉토리인 test_dir로 이동하면서 파일명을 test01으로 변경되게 된다.

 

파일 뿐만이 아니라 디렉토리를 대상으로도 이동 및 이름 변경이 가능하다.

옵션에 상관 없이 옮길 대상과 옮겨질 경로(혹은 변경될 파일명)는 필수 인자이다.

 

옵션 

  • -b, --backup[=CONTROL] : 파일이 지워지기 전에 백업 파일을 만든다. '--suffix' 옵션을 지정하지 않으며 '~'를 붙여서 백업 파일 생성한다.
  • -f, --force : 대상파일이 있더라도 파일을 강제(삭제 여부를 묻지 않고)로 삭제한다.
  • -i, --interactive : 대상 파일이 있는 경우 덮어쓸 것인지 물어 본다.
  • --strip-trailing-slashes : 옮길 대상(SOURCR)의 끝에 있는 슬러쉬('/')를 제거 하고 실행한다.
  • -S, --suffix=SUFFIX : 지정된 접미사를 붙여서 덮어쓴다.
  • -t, --target-directory=DIRECTORY : SOURCE의 모든 대상을 디렉토리로 옮긴다.
  • -T, --no-target-directory : 옮길 대상을 일반파일로 취급한다.
  • -u, --update : 대상파일보다 옮길 대상(SOURCE)이 최신 파일일 경우 업데이트한다. 기존의 대상 파일이 없을 경우 그냥 옮긴다.
  • -v, --verbose : 파일 이동 과정을 출력한다.
  • --help : 해당 명령어의 도움말을 보여주고 실행이 종료한다.
  • --version : version 정보를 출력하고 실행이 종료한다.

 

Tips 

* 이나 ? 같은 와일드카드 문자를 이용하여 원본파일을 지정하면 여러개의 파일을 다른 디렉토리로 옮기는 것도 가능하다.

$ mv *.log test_dir

예를 들어 위와 같은 명령을 실행하면 현재 디렉토리에서 파일명이 ( .log )로 끝나는 모든 파일들이 현재 디렉토리의 서브 디렉토리인 test_dir로 이동하게 된다. 이때 파일명은 유지된다.

728x90
반응형

'OS > Linux' 카테고리의 다른 글

Curl (Client URL) 명령어  (0) 2023.08.24
groups - 사용자 그룹  (0) 2023.08.16
원격 시스템 관리를 위한 Telnet 서버설치  (0) 2023.07.25
[Linux] - sed  (0) 2023.07.18
jattach 없을경우 dump 파일 생성  (0) 2023.07.10