GUI 파일 브라우저를 사용해 리눅스에서 파일을 이동하는 방법은 이미 잘 알고 있을 것입니다. 하지만 터미널에서 몇 번의 입력만으로 파일을 다른 디렉터리로 빠르게 옮길 수 있는 명령어가 있는지 궁금할 수도 있습니다. 바로 mv 명령어입니다. 간단한 문법과 몇 가지 선택적 안전 옵션만 익히면 누구나 손쉽게 사용할 수 있습니다.
이 기본적인 터미널 명령어는 Ubuntu, Kali Linux, Fedora 등 대부분의 리눅스 배포판에서 동일하게 작동합니다.
mv 명령어 기본 문법
mv 명령어는 상당히 유연하지만, 사용할 때 반드시 지켜야 할 인자 순서가 있습니다:
mv [옵션] <원본> <대상>
모든 mv 명령에는 원본(source)과 대상(destination)을 반드시 지정해야 하며, 옵션을 사용할 경우 원본과 대상보다 앞에 위치해야 합니다. 주요 옵션은 아래에서 자세히 설명하겠습니다.
옵션 없이 mv 명령어를 직접 사용해 보려면 간단한 파일을 하나 만든 뒤 다음과 같이 입력해 보세요:
mv ~/test.txt ~/Documents
이 명령은 test.txt 파일을 홈 폴더에서 Documents 디렉터리로 이동시킵니다.
여러 개의 파일을 한 번에 이동하려면 대상 경로를 지정하기 전에 파일 이름들을 공백으로 구분해 나열하기만 하면 됩니다. 모든 파일이 단 한 번의 명령으로 함께 이동됩니다.
또한, 같은 대상으로 이동할 여러 파일들이 확장자처럼 이름에 공통점이 있다면 와일드카드인 별표(*)를 활용할 수 있습니다. 예를 들어 mv *.txt ~/Documents처럼 입력하면 현재 위치의 모든 txt 파일이 Documents 폴더로 한꺼번에 옮겨집니다.
앞선 예제들에서 mv는 이동 확인을 요청하지도 않았고, 작업 결과를 따로 알려주지도 않았다는 점을 눈치챘을 것입니다. 바로 이 부분에서 mv의 다양한 옵션이 유용하게 쓰입니다.
mv 명령어 주요 옵션
--verbose(또는 -v) 옵션을 사용하면 실행된 모든 작업의 기록이 화면에 출력되므로, 어떤 파일이 어디로 이동했는지 한눈에 확인할 수 있습니다.
mv 명령어 사용 시 주의할 점은, 별도로 지정하지 않으면 대상 디렉터리에 원본 파일과 같은 이름의 파일이 있을 경우 자동으로 덮어쓴다는 것입니다.
실수로 인한 덮어쓰기를 방지하려면 대화형 모드인 -i 옵션을 사용하세요.
대화형 모드에서는 대상 디렉터리에 같은 이름의 파일이 있을 때 mv가 이동 여부를 묻는 확인 메시지를 표시하므로, 사용자가 직접 판단해 결정할 수 있습니다.
반대로 충돌이 발생하면 자동으로 명령을 취소하고 싶다면 -n(no-clobber) 옵션을 지정하세요. 이 경우 기존 파일은 그대로 유지됩니다.
충돌 시 항상 '마지막 수정 날짜'가 더 최신인 파일을 우선하도록 설정하려면 업데이트 옵션인 -u를 사용합니다.
같은 이름의 파일이 두 개 있지만 최근에 수정된 버전만 남기고 싶을 때 특히 유용한 옵션입니다.
충돌을 피하는 또 다른 방법은 백업 옵션입니다. --backup=numbered를 사용하면 파일 이름 충돌이 발생했을 때 mv가 원본 파일 이름 뒤에 ~1~을 붙여 백업본을 만듭니다. 이렇게 생성된 파일은 ls -a 명령처럼 숨김 파일을 표시하기 전까지는 일반 파일 목록에서 보이지 않습니다.
마무리: 터미널에서 파일 자유롭게 이동하기
지금까지 mv 명령어를 활용해 리눅스 터미널에서 로컬 파일을 빠르고 안전하게 이동하는 다양한 팁과 트릭을 살펴보았습니다. 기본 문법과 몇 가지 옵션만 익혀두면 파일 관리 작업이 훨씬 효율적으로 바뀔 것입니다.
경우에 따라서는 로컬 파일을 다른 머신으로 전송해야 할 수도 있습니다. 리눅스에서는 scp, rsync 등 파일을 원격으로 이동할 수 있는 다양한 방법도 제공하고 있으니 필요할 때 함께 활용해 보세요.