리눅스 명령어 · 3 min read · Sep 19, 2025
리눅스 cp 명령어 초보자를 위한 튜토리얼 (8가지 예제)
리눅스에 처음 접하는 경우, 명령줄이 그래픽 인터페이스를 통해 수행할 수 있는 거의 모든 작업을 수행할 수 있는 매우 강력한 도구라는 것을 아는 것이 좋습니다. 그러나 대부분의 경우, 명령줄에서 간단한 작업을 수행하게 될 것입니다. 그런 간단한 작업 중 하나는 파일/디렉토리를 복사하는 것입니다.
리눅스 cp 명령어는 명령줄을 통해 파일과 디렉토리를 복사할 수 있는 기능을 제공합니다. 이 튜토리얼에서는 이해하기 쉬운 예제를 사용하여 이 도구의 기본 사용법에 대해 논의할 것입니다. 그러나 그 전에 이 기사에 언급된 모든 예제/지침은 Ubuntu 16.04LTS에서 테스트되었다는 것을 공유할 가치가 있습니다.
리눅스 cp 명령어
명령줄에서 복사 작업을 수행해야 할 경우, cp가 기본 명령어가 되어야 합니다. 매뉴얼 페이지에 따르면, 이 도구는 파일과 디렉토리 모두를 복사하는 데 사용할 수 있습니다. 다음은 명령어의 일반적인 구문입니다:
cp [OPTION]... SOURCE DEST위의 명령어는 SOURCE를 DEST로 복사합니다. 다음의 Q&A 형식의 예제들은 이 도구가 어떻게 작동하는지에 대한 더 나은 아이디어를 제공할 것입니다.
Q1. 기본 복사 작업을 수행하는 방법은?
cp의 기본 사용법은 매우 쉽습니다 - 소스와 목적지만 지정하면 됩니다. 예를 들어, 다음 명령어는 현재 작업 디렉토리에 있는 ‘file1’을 바탕화면 디렉토리로 복사합니다:
cp file1 ~/DesktopQ2. cp가 덮어쓰기 전에 프롬프트를 표시하도록 하려면?
파일을 복사하는 목적지에 이미 같은 이름의 파일이 존재하는 경우, cp 명령어는 기존 파일을 조용히 덮어씁니다. 그러나 원한다면 덮어쓰기 전에 프롬프트를 표시하도록 도구를 설정할 수 있습니다. 이는 -i 옵션을 사용하여 인터랙티브 모드로 cp를 실행함으로써 가능합니다.
예를 들어:
cp -i file1 ~/Desktop/위의 스크린샷에서 볼 수 있듯이, -i 옵션은 cp가 목적지 디렉토리에 같은 이름의 기존 파일을 덮어쓸 것인지 사용자에게 묻도록 합니다.
Q3. cp가 기존 파일을 덮어쓰지 않도록 강제하는 방법은?
때때로, 기존 파일을 덮어쓰지 않기를 원할 수 있으며, 이전 섹션에서 논의한 인터랙티브 옵션을 활성화하고 싶지 않을 수도 있습니다. 이러한 상황에서는 -n 명령줄 옵션을 사용할 수 있습니다.
예를 들어:
cp -n file1 ~/Desktop/-n은 -i 옵션을 무시하므로, -n과 함께 -i를 사용하더라도 명령어는 인터랙티브 모드로 실행되지 않습니다.
Q4. cp를 사용하여 디렉토리를 복사하는 방법은?
기본적으로 cp 명령어는 파일에 대해서만 작동합니다. 디렉토리를 복사하려고 하면 “cp: omitting directory” 오류가 발생할 수 있습니다. 따라서 디렉토리를 복사해야 할 경우, -r 명령줄 옵션을 사용해야 합니다.
예를 들어:
cp -r dir ~/DesktopQ5. cp 명령어를 사용하여 심볼릭 링크를 만드는 방법은?
원한다면, cp에게 실제로 파일을 복사하는 대신 심볼릭 링크를 만들도록 요청할 수 있습니다. 이는 -s 명령줄 옵션을 사용하여 가능합니다.
예를 들어:
cp -s ~/htf-daily/file1 ~/Desktop/Q6. cp가 소스가 최신일 때만 목적지 파일을 덮어쓰도록 하는 방법은?
때때로, 요구 사항은 소스 파일이 최신일 때만 기존 파일을 덮어쓰는 것입니다 - 이 과정을 파일 업데이트로 생각할 수 있습니다. 이는 -u 명령줄 옵션을 사용하여 가능합니다.
예를 들어, 현재 작업 디렉토리에 있는 ‘file1’을 바탕화면 디렉토리로 복사하고 싶지만, 목적지에 이미 ‘file1’이라는 파일이 존재하는 경우, 소스가 목적지보다 최신일 때만 복사하고 싶습니다. 이는 다음 명령어를 사용하여 수행할 수 있습니다:
cp -u file1 ~/DesktopQ7. cp가 소스에서 심볼릭 링크를 따르지 않도록 하는 방법은?
기본적으로 cp 명령어는 소스에서 심볼릭 링크를 따릅니다. 이는 예를 들어, 다른 파일에 대한 심볼릭 링크인 파일을 복사하려고 할 때, 기본적으로 심볼릭 링크가 참조하는 파일에 대해 복사 작업이 수행된다는 것을 의미합니다. 즉, ~/Desktop/file1이 ~/htf-daily/file1에 대한 심볼릭 링크이고, ~/Desktop/file1을 ~/Downloads로 복사하려고 하면, ~/htf-daily/file1이 그곳으로 복사됩니다.
그러나 심볼릭 링크 자체를 복사해야 하는 경우, 이는 -P 명령줄 옵션을 사용하여 가능하게 할 수 있습니다. 이 옵션은 cp에게 소스에서 심볼릭 링크를 따르지 않도록 요청합니다. 따라서 우리의 경우, 명령어는 다음과 같습니다:
cp -P ~/Desktop/file1 ~/Downloads/Q8. 파일 속성만 복사하는 방법은?
때때로, 요구 사항은 파일의 내용이 아니라 속성(소유권 및 타임스탬프와 같은)만 복사하는 것일 수 있습니다. 이는 –attributes-only 명령줄 옵션과 –preserve 옵션을 함께 사용하여 달성할 수 있습니다.
예를 들어, file1의 속성은 다음과 같습니다:
-rw-rw-r-- 1 root himanshu 97 Jun 14 17:18 file1그리고 file2의 속성은 다음과 같습니다:
-rw-rw-r-- 1 root himanshu 179 May 25 15:09 file2*참고: 파일의 이러한 속성을 가져오려면 ls 명령어를 사용할 수 있습니다. ls에 대한 자세한 정보는 여기로 가세요.*
그리고 file2의 속성을 file1에도 적용하려는 경우, 다음과 같이 수행할 수 있습니다:
cp --attributes-only --preserve file2 file1위의 명령어가 작동하는 모습:
결론
동의하시겠지만, cp 명령어의 기본 사용법은 이해하기 어렵지 않습니다. 이 튜토리얼에서는 대부분의 유용한 명령줄 옵션을 다루려고 했습니다. 여러분의 환경에서 시도해 보시고, 그 후에 도구의 매뉴얼 페이지로 가서 명령어가 제공하는 다른 기능/옵션을 확인해 보세요. 궁금한 점이나 질문이 있으면 아래에 댓글을 남겨주세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.