리눅스 MV (이동/이름변경 명령어)
리눅스 mv – 이동/이름변경 명령어
리눅스에서 파일을 다른 디렉토리로 이동하거나 다른 이름으로 바꾸고자 할 때 mv 를 사용하면 된다
<기본문법>
mv [옵션] <file1> <file2> <file3> ….<file n> destination
mv [옵션] 원본디렉토리 옮길디렉토리
옵 션 | 기 능 |
-b | 파일이 지워지기전에 백업파일 만듬 |
-f | 대상파일이 있더라도 파일을 강제로 삭제 |
-i | 대상파일이 있는 경우 덮어쓸 것인가 물어 봄 |
-r | 서브 디렉토리 내에 있는 모든 파일까지 통채로 복사 |
-u | 대상파일보다 원본파일이 새로운 것일 때 |
-v | 파일 옮기기 전의 과정을 보여줌 |
경로가 동일하면 rename 이 되고
경로가 다르면 파일이 이동된다.
여러개의 파일을 동시에 옮기는 방법
mv filename* /home/test
해석 : 현재 디렉토리의 filename으로 시작하는 모든 파일을 /home/test 로 옮긴다.
위 그림에서 현재 디렉토리를 확인(pwd)하고 ls 명령어로 어떤 파일과 서브디렉토리가 있는지 확인하고 나서,
mv *.php /home/http/test 로 현재디렉토리(/home/http/test/modules/plan/)에 있는 모든 php 파일을
/home/http/test 디렉토리로 옮기라고 명령했다.
모든 PHP 파일이 옮겨진 것을 확인할 수 있다.
_m* 으로 시작되는 파일을 하위디렉토리 modules/plan/ 으로 옮기라는 것을 실행해보고
경로를 이동하여 실제로 파일이 옮겨진 것을 확인할 수 있다.
mv /home/test/ab* /root/test
해석 : /home/test/ 디렉토리에 존재하는 ab로 시작하는 모든 파일을 /root/test 디렉토리로 옮긴다.
위 그림에서 보면 디렉토리가 존재하지 않는 곳으로 파일을 옮기려고 했더니 디렉토리가 없다고 출력한다.
그래서 디렉토리가 존재하는 /root 로 파일을 옮기고 나서 확인했다.
파일이 옮겨진 것을 확인할 수 있다. (보안상 보여주면 안되는 사항은 검은색으로 처리함)
mv /home/http/test /home/http/test2
해석 : /home/http/test/ 디렉토리 자체를 /home/http/test2/ 디렉토리로 옮긴다.
파일을 디렉토리째로 다른 것으로 복사하려면 mv 처럼 뒤에 옵션을 붙이지 않는게 아니라 옵션을 붙여야 디렉토리째 복사가 된다.
현재 디렉토리 하위 디렉토리(plan/)의 전부를 /home/http/test/ 디렉토리로 옮겨봤다.
옮기고 나서 경로를 이동하여 옮겨진 것을 확인했다.