OS/Linux

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

beomzh 2023. 7. 25. 15:35
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
명령어 - sed  (0) 2023.07.18
jattach 없을경우 dump 파일 생성  (0) 2023.07.10