Linux mv 명령어: 파일 이동 및 이름 변경

LinuxBeginner
지금 연습하기

소개

이 튜토리얼에서는 Linux 의 mv 명령어에 대해 전반적으로 살펴봅니다. mv 명령어는 Linux 환경에서 파일이나 디렉터리를 이동하거나 이름을 변경할 때 사용하는 다재다능한 도구입니다. 효율적인 파일 관리를 위해서는 이 명령어의 기본 사용법과 다양한 옵션을 이해하는 것이 필수적입니다.

이 실습에서 여러분은 소규모 웹 개발 회사의 주니어 시스템 관리자 역할을 맡아 파일을 정리하는 업무를 수행하게 됩니다. mv 명령어를 사용하여 프로젝트 파일을 관리하고, 콘텐츠를 업데이트하며, 체계적인 파일 구조를 유지하는 방법을 익히게 될 것입니다.

이 과정은 단계별 안내에 따라 학습하고 실습할 수 있는 가이드형 실습 (Guided Lab) 입니다. 각 단계를 주의 깊게 따라가며 직접 경험을 쌓아보세요. 통계에 따르면 이 실습은 초급 수준으로, 94%의 수료율을 기록하고 있으며 학습자들로부터 99%의 긍정적인 평가를 받았습니다.

프로젝트 디렉터리 살펴보기

먼저 프로젝트 디렉터리에 어떤 파일들이 있는지 확인하는 것부터 시작해 보겠습니다.

  1. 터미널을 엽니다. 기본적으로 /home/labex/project 디렉터리에 위치해 있을 것입니다. 이를 확인하려면 이전에 배운 pwd 명령어를 사용하면 됩니다. 현재 작업 중인 디렉터리 경로가 표시됩니다.

  2. ls 명령어를 사용하여 현재 디렉터리의 파일 목록을 확인합니다.

ls

웹 개발 프로젝트와 관련된 여러 파일과 디렉터리가 보일 것입니다. 출력 결과는 다음과 비슷할 수 있습니다.

index.html  styles.css  script.js  utils.js  images

추가적인 파일이 보이거나 일부 파일이 없더라도 걱정하지 마세요. 중요한 것은 현재 작업 환경에 어떤 파일과 디렉터리가 존재하는지 파악하는 것입니다.

파일 이동하기

이제 프로젝트 구조를 더 깔끔하게 정리하기 위해 파일을 이동해 보겠습니다. styles.css 파일을 css라는 새 디렉터리로 옮길 것입니다.

  1. 먼저 css 디렉터리를 만들어야 합니다. 이전에 배운 mkdir 명령어를 사용하세요.
mkdir css

이 명령어는 현재 위치에 css라는 이름의 새 디렉터리를 생성합니다.

  1. 이제 mv 명령어를 사용하여 styles.csscss 디렉터리로 이동시킵니다.
mv styles.css css/

명령어의 구성을 살펴보겠습니다.

  • mv: 파일을 이동시키는 명령어입니다.
  • styles.css: 이동시키고자 하는 원본 파일입니다.
  • css/: 파일을 이동시킬 대상 디렉터리입니다.

css 뒤에 붙은 슬래시 (/) 는 해당 대상이 디렉터리임을 나타냅니다. 슬래시를 붙이는 것은 선택 사항이지만, 파일을 디렉터리 안으로 옮긴다는 의미를 명확하게 해줍니다.

  1. 파일이 제대로 이동되었는지 확인하기 위해 ls 명령어로 css 디렉터리 내부를 확인합니다.
ls css

출력 결과에 styles.css가 표시되어야 합니다. 만약 보이지 않더라도 당황하지 마세요. 나중에 검증 단계에서 다시 확인할 수 있습니다.

파일 이름 변경하기

때로는 명명 규칙을 따르거나 버전을 업데이트하기 위해 파일 이름을 변경해야 할 때가 있습니다. mv 명령어는 파일의 이름을 바꾸는 데에도 사용됩니다.

  1. index.html 파일의 이름을 home.html로 변경해 보겠습니다. 다시 mv 명령어를 사용하지만, 이번에는 원본과 대상이 모두 같은 디렉터리에 있게 됩니다.
mv index.html home.html

이 명령어에서:

  • index.html: 현재 파일 이름 (원본) 입니다.
  • home.html: 새로 지정할 파일 이름 (대상) 입니다.

원본과 대상이 동일한 디렉터리에 있을 때, mv 명령어는 파일을 이동하는 대신 이름을 변경하는 것으로 인식합니다.

  1. 변경 사항을 확인하려면 ls 명령어를 사용하세요.
ls

목록에 home.html은 보이고 index.html은 사라졌어야 합니다. 만약 두 파일이 모두 있거나 index.html만 보인다면, 검증 단계를 통해 다시 확인할 수 있습니다.

여러 파일 한꺼번에 이동하기

실무에서는 여러 파일을 동시에 옮겨야 하는 경우가 많습니다. 자바스크립트 파일들을 scripts 디렉터리로 옮겨서 정리해 보겠습니다.

  1. 먼저 mkdir 명령어로 스크립트용 새 디렉터리를 만듭니다.
mkdir scripts
  1. 이제 mv 명령어를 사용하여 모든 .js 파일을 scripts 디렉터리로 이동시킵니다.
mv *.js scripts/

명령어의 구성을 살펴보겠습니다.

  • mv: 파일을 이동시키는 명령어입니다.
  • *.js: .js로 끝나는 모든 파일과 일치하는 패턴입니다. 여기서 *는 "모든 문자"를 의미하는 와일드카드입니다.
  • scripts/: 대상 디렉터리입니다.

이 명령어를 실행하면 모든 자바스크립트 파일 (.js 로 끝나는 파일) 이 scripts 디렉터리로 이동합니다.

  1. 이동이 잘 되었는지 확인하기 위해 ls 명령어로 scripts 디렉터리 내용을 확인합니다.
ls scripts

모든 자바스크립트 파일이 목록에 나타나야 합니다. 파일이 보이지 않거나 일부 .js 파일이 여전히 메인 프로젝트 디렉터리에 남아 있어도 걱정하지 마세요. 검증 단계에서 확인할 수 있습니다.

안전한 이동을 위한 -i 옵션 사용하기

파일을 이동할 때 실수로 기존 파일을 덮어쓰는 것을 방지하기 위해 -i 옵션을 사용하는 것이 좋습니다. -i는 "interactive(대화형)"의 약자로, 기존 파일을 덮어쓰기 전에 사용자에게 확인을 요청합니다.

  1. 실습을 위해 테스트 파일을 하나 만들어 보겠습니다. echo라는 명령어를 사용할 것인데, 지금은 이 명령어를 완벽히 이해하지 못해도 괜찮습니다. 단순히 내용이 들어있는 파일을 만드는 용도로 사용합니다.

    echo "Test content" > test.txt

    이 명령어는 "Test content"라는 내용이 담긴 test.txt 파일을 생성합니다.

    다음 명령어를 실행하기 전에 home.html 파일이 존재하는지 확인하세요.

    ls home.html

    만약 파일이 없다면 아래 명령어로 생성합니다.

    echo "Home page" > home.html
  2. 이제 -i 옵션을 사용하여 이 파일을 기존 파일 위로 이동 (덮어쓰기) 해 보겠습니다.

    mv -i test.txt home.html
  3. 그러면 다음과 같은 메시지가 나타날 것입니다.

    mv: overwrite 'home.html'?

이 메시지는 기존의 home.html 파일을 test.txt로 덮어쓸 것인지 묻는 것입니다. 작업을 취소하려면 n을 입력하고 Enter 를 누르세요.

-i 옵션은 중요한 파일을 실수로 지울지 모르는 상황에서 매우 유용합니다. 변경을 확정하기 전에 다시 한번 생각할 기회를 주기 때문입니다.

요약

이 실습을 통해 웹 개발 프로젝트에서 mv 명령어를 사용하여 파일을 정리하는 방법을 배웠습니다. 파일을 이동하고, 이름을 변경하고, 여러 파일을 동시에 처리하며, -i 옵션을 통해 안전하게 파일을 관리하는 방법을 익혔습니다.

실습에서 다루지 않은 몇 가지 추가적인 mv 명령어 옵션은 다음과 같습니다.

  • -f: 확인 메시지 없이 강제로 이동합니다.
  • -n: 기존 파일이 있을 경우 덮어쓰지 않습니다.
  • -v: 실행 과정을 상세하게 설명해 주는 상세 모드 (verbose) 입니다.

참고 자료