Programming/Linux
[command] mv 명령어
MAYSON
2022. 10. 24. 06:30
mv 명령어는 Move의 약자로, 디렉토리나 파일의 경로를 이동시키거나 이름을 바꾸는 명령어입니다.
# 사용법
mv [원본 디렉토리, 파일] [사본 디렉토리, 파일]
# 현재 디렉토리의 ori.txt 라는 파일을 현재 디렉토리의 ori_dir 로 이동
mv ori_txt ori_dir
# 현재 디렉토리의 ori.txt 라는 파일의 이름을 sec.txt 로 변경
mv ori.txt sec.txt
# 현재 디렉토리의 ori.txt 라는 파일의 이름을 sec.txt로 변경하고, ori_dir 로 이동
mv ori.txt ori_dir/sec.txt
이렇게 파일을 이동하거나 이름을 바꾸는게 가능하고, 경로이동과 동시에 파일명을 바꿔주는 것도 가능합니다. 절대경로와 상대경로를 구분하기에 주의가 이동시에는 주의가 필요합니다.
옵션을 사용하지 않고 옮길 경우에 원본경로, 옮겨질 경로는 필수 인자입니다.
# mv 옵션
# -b : 이동 될 경로에 파일이 이미 존재한다면 백업파일을 만듬
mv -b /home/apple.txt /home/fruits/apple.txt
# -f : 이동 될 경로에 파일이 이미 존재한다면, 강제로 덮어씌움
mv -f /u01/ori_data.fn /u01/re_data.fn
# -i : 이동 될 경로에 파일이 이미 존재한다면, 덮어씌울지 여부를 물음
mv -i /home/index.jsp /home/index/index.jsp
# -n : 이동 될 경로에 파일이 이미 존재한다면, 이동시키지 않음
mv -n /u01/ora19 /u01/ora19
# -r : 원본에 존재하는 하위 디렉토리를 포함해 이동시킴
mv -r /home/oracle /u01
이 외에도 여러 옵션들이 있습니다. rm 이나 cp 명령어처럼 강제로 덮어씌울 경우 덮어씌어진 파일의 복구가 어렵기 때문에 주의가 필요합니다.
한 번의 커맨드로 여러 대상을 한 번에 이동시키거나, * 를 활용해 모든 파일을 이동시키는 거나, 특정 확장자를 지닌 파일만 이동시키는 것도 가능합니다.
# 복수의 디렉토리, 파일을 복사
# mv [파일1] [파일2] [파일3] [이동 될 경로]
mv apple.txt banana.txt orange.txt /home/likes/fruits
# 현재 경로에 있는 모든 디렉토리, 파일을 /u01 로 이동
mv * /u01
# .sql 확장자를 지닌 파일을 현재 경로의 sql_dir 디렉토리로 이동
mv *.sql sql_dir