mv 명령은 파일 또는 디렉토리를 이동하거나 이름을 바꾸는 데 사용되는 Linux/Unix 명령입니다.
mv [OPTION]... SOURCE DEST
mv 명령어의 옵션은 다음과 같습니다.
-f, --force do not prompt before overwriting
-i, --interactive prompt before overwrite
-n, --no-clobber do not overwrite an existing file
-u, --update move only when the SOURCE file is newer than the destination file
-v, --verbose explain what is being done
1. -f 옵션
mv 명령의 -f 옵션은 대상 파일이 이미 존재하는 경우에도 확인 메시지를 표시하지 않고 파일을 강제로 이동하는 데 사용됩니다. 이 옵션은 mv 명령의 기본 동작을 재정의하여 기존 파일을 덮어쓰기 전에 확인 메시지를 표시합니다.
예를 들어 이동하려는 대상 디렉토리에 동일한 이름의 파일이 이미 포함된 경우 기본적으로 mv 명령은 파일을 덮어쓰기 전에 확인 메시지를 표시합니다.
$ mv blog_post_1.txt published_posts/
mv: overwrite 'published_posts/blog_post_1.txt'?
프롬프트 없이 파일을 강제로 이동하려면 다음과 같이 -f 옵션을 사용할 수 있습니다.
$ mv -f blog_post_1.txt published_posts/
이렇게 하면 blog_post_1.txt 파일이 published_posts 디렉터리로 이동하고 확인 메시지 없이 이름이 같은 기존 파일을 덮어씁니다.
2. -i 옵션
mv 명령의 -i 옵션은 기존 파일을 덮어쓰기 전에 대화식으로 확인 메시지를 표시하는 데 사용됩니다. 이 옵션은 기존 파일을 덮어쓰기 전에 확인 메시지를 표시하지 않는 mv 명령의 기본 동작을 재정의합니다.
예를 들어, 블로그 플랫폼에서 작업 중이고 published_posts라는 디렉토리로 이동하려는 blog_post_1.txt라는 파일이 있는 시나리오를 생각해 보십시오. 대상 디렉토리에 동일한 이름의 파일이 이미 포함된 경우 기본적으로 mv 명령은 확인 메시지를 표시하지 않고 기존 파일을 덮어씁니다.
기존 파일을 덮어쓰기 전에 확인 메시지를 표시하려면 다음과 같이 -i 옵션을 사용할 수 있습니다.
$ mv -i blog_post_1.txt published_posts/
mv: overwrite 'published_posts/blog_post_1.txt'? y
이렇게 하면 blog_post_1.txt 파일이 published_posts 디렉터리로 이동하고 기존 파일을 덮어쓰기 전에 확인하라는 메시지가 표시됩니다. y로 응답하여 덮어쓰기를 확인하거나 n으로 응답하여 작업을 취소할 수 있습니다.
3. -n 옵션
mv 명령의 -n 옵션은 대상 디렉토리의 기존 파일을 덮어쓰는 것을 방지하는 데 사용됩니다. 이 옵션은 -i 옵션과 유사하지만 대상 파일이 이미 존재하는 경우 확인을 요청하는 대신 작업을 자동으로 취소합니다.
예를 들어, 블로그 플랫폼에서 작업 중이고 published_posts라는 디렉토리로 이동하려는 blog_post_1.txt라는 파일이 있는 시나리오를 생각해 보십시오. 대상 디렉토리에 동일한 이름의 파일이 이미 포함된 경우 기본적으로 mv 명령은 확인 메시지를 표시하지 않고 기존 파일을 덮어씁니다.
기존 파일을 덮어쓰지 않으려면 다음과 같이 -n 옵션을 사용할 수 있습니다.
$ mv -n blog_post_1.txt published_posts/
mv: 'published_posts/blog_post_1.txt' not overwritten
이것은 mv 명령이 기존 파일을 덮어쓰는 것을 방지하고 파일을 덮어쓰지 않았음을 나타내는 메시지를 반환합니다. blog_post_1.txt 파일은 published_posts 디렉터리로 이동되지 않습니다.
4. -u 옵션
mv 명령의 -u 옵션은 소스 파일이 최신인 경우에만 대상 디렉토리의 기존 파일을 업데이트하는 데 사용됩니다. 이 옵션을 사용하면 대상 파일이 소스 파일과 함께 최신 상태인지 확인할 수 있습니다.
예를 들어, 블로그 플랫폼에서 작업 중이고 published_posts라는 디렉토리로 이동하려는 blog_post_1.txt라는 파일이 있는 시나리오를 생각해 보십시오. 대상 디렉토리에 이미 동일한 이름의 파일이 있고 원본 파일의 수정 시간이 대상 파일의 수정 시간보다 오래된 경우 기본적으로 mv 명령은 확인 메시지를 표시하지 않고 기존 파일을 덮어씁니다.
소스 파일이 최신인 경우에만 기존 파일을 업데이트하려면 다음과 같이 -u 옵션을 사용할 수 있습니다.
$ mv -u blog_post_1.txt published_posts/
이렇게 하면 원본 파일이 대상 파일보다 최신인 경우에만 blog_post_1.txt 파일이 published_posts 디렉터리로 이동합니다. 대상 파일이 소스 파일로 이미 최신 상태이면 mv 명령이 덮어쓰지 않습니다.
5. -v 옵션
mv 명령의 -v 옵션은 이동 중인 각 파일의 이름을 보여주는 자세한 출력을 표시하는 데 사용됩니다. 이 옵션은 특히 여러 파일을 이동할 때 mv 명령의 진행 상황을 모니터링하는 데 유용합니다.
예를 들어, 블로그 플랫폼에서 작업하고 있으며 Drafts라는 디렉터리에 여러 파일이 있는 경우 published_posts라는 디렉터리로 이동하려는 시나리오를 생각해 보십시오.
mv 명령의 자세한 출력을 표시하려면 다음과 같이 -v 옵션을 사용할 수 있습니다.
$ mv -v drafts/* published_posts/
'drafts/blog_post_1.txt' -> 'published_posts/blog_post_1.txt'
'drafts/blog_post_2.txt' -> 'published_posts/blog_post_2.txt'
'drafts/blog_post_3.txt' -> 'published_posts/blog_post_3.txt'
그러면 각 파일의 원본 및 대상 경로와 함께 이동 중인 모든 파일의 목록이 표시됩니다. 이 정보는 특히 많은 수의 파일을 이동하는 경우 mv 명령이 예상대로 작동하는지 확인하는 데 도움이 될 수 있습니다.
댓글