본문 바로가기
리눅스-Linux

🖥️ [Linux] cp 명령어 완벽 가이드 - 파일 & 디렉토리 복사

by info4503 2025. 2. 25.

 

안녕하세요! 😊
리눅스에서 파일을 복사할 때 가장 많이 사용하는 명령어가 바로 cp입니다.
오늘은 cp 명령어의 기본 사용법과 주요 옵션표와 함께 정리해보겠습니다! 🚀


🔍 1. cp 명령어란?

✅ cp(copy)는 파일 및 디렉토리를 복사하는 명령어입니다.
✅ 단순 복사뿐만 아니라, 권한 유지, 백업, 심볼릭 링크 보존 등 다양한 옵션을 제공합니다.
✅ mv 명령어와 달리 원본 파일을 유지한 채 복사본을 생성합니다.

📌 cp는 파일 및 디렉토리를 백업하거나 복제할 때 필수적으로 사용됩니다.


🔧 2. cp 기본 사용법

cp [옵션] 원본 대상

예제 실행

1️⃣ 파일 복사 (동일한 파일명으로 복사)

cp file1.txt backup.txt

✅ file1.txt를 backup.txt로 복사

2️⃣ 디렉토리 전체 복사 (-r 옵션 필수!)

cp -r my_folder backup_folder

✅ my_folder 디렉토리를 backup_folder로 복사


🚀 3. cp 주요 옵션 정리

📌 3.1 cp 명령어 옵션 목록

옵션 설명

-r 디렉토리를 재귀적으로 복사 (폴더 복사 시 필수!)
-p 원본 파일의 속성(권한, 소유권, 타임스탬프) 유지
-f 대상 파일이 존재하면 강제로 덮어쓰기
-i 덮어쓰기 전에 사용자에게 확인 요청
-u 원본 파일이 더 최신인 경우에만 복사
-n 기존 파일이 있으면 덮어쓰지 않음
-v 복사 진행 과정을 화면에 출력 (verbose)
--backup 대상 파일이 이미 있으면 백업본 생성
--preserve=all 모든 파일 속성 보존 (권한, 소유권, 시간 등)

Tip!

  • 디렉토리 복사 시 -r 옵션을 반드시 사용해야 합니다.
  • 파일 덮어쓰기를 방지하려면 -i 또는 -n을 활용하세요.
  • 백업을 자동으로 생성하려면 --backup을 활용하세요.

🛠 4. cp 옵션별 예제

📌 4.1 디렉토리 복사 (-r 옵션 필수!)

cp -r source_folder destination_folder

✅ source_folder를 destination_folder로 복사


📌 4.2 권한 및 속성 유지 (-p 옵션)

cp -p file1.txt backup.txt

✅ file1.txt를 복사하면서 원본의 권한, 소유권, 타임스탬프 유지


📌 4.3 강제 덮어쓰기 (-f 옵션)

cp -f file1.txt backup.txt

✅ backup.txt가 이미 존재해도 강제로 덮어쓰기


📌 4.4 덮어쓰기 전에 확인 (-i 옵션)

cp -i file1.txt backup.txt

✅ backup.txt가 이미 존재하면 "덮어쓸까요? (y/n)" 메시지를 표시


📌 4.5 최신 파일만 복사 (-u 옵션)

cp -u file1.txt backup.txt

✅ backup.txt가 존재하더라도 file1.txt가 더 최신일 경우에만 복사


📌 4.6 기존 파일 덮어쓰기 방지 (-n 옵션)

cp -n file1.txt backup.txt

✅ backup.txt가 존재하면 복사하지 않음


📌 4.7 복사 과정 출력 (-v 옵션)

cp -v file1.txt backup.txt

✅ 복사 과정을 화면에 출력

'file1.txt' -> 'backup.txt'

📌 4.8 백업 파일 자동 생성 (--backup 옵션)

cp --backup file1.txt backup.txt

✅ 기존 backup.txt가 있다면 자동으로 backup.txt~ 백업본 생성


📂 5. cp 명령어 실전 예제

📌 5.1 여러 개의 파일을 한 번에 복사

cp file1.txt file2.txt file3.txt /backup_folder/

✅ file1.txt, file2.txt, file3.txt를 /backup_folder/로 복사


📌 5.2 특정 확장자의 파일만 복사

cp *.txt /backup_folder/

✅ 현재 디렉토리의 모든 .txt 파일을 /backup_folder/로 복사


📌 5.3 심볼릭 링크 보존 (-a 옵션)

cp -a source_folder destination_folder

✅ 심볼릭 링크 및 파일 속성을 그대로 유지하면서 복사


📌 5.4 백업 및 덮어쓰기 방지 조합

cp -i --backup=numbered file1.txt backup.txt

✅ backup.txt가 존재하면 백업(backup.txt.~1~)을 만든 후, 덮어쓰기 여부를 묻는 옵션


🎯 마무리

오늘은 리눅스 cp 명령어를 활용한 파일 및 디렉토리 복사 방법을 배웠습니다.

✅ 핵심 요약

파일 복사: cp file1.txt file2.txt
디렉토리 복사: cp -r folder1 folder2
권한 유지: cp -p file1.txt file2.txt
강제 덮어쓰기: cp -f file1.txt file2.txt
최신 파일만 복사: cp -u file1.txt file2.txt
덮어쓰기 방지: cp -n file1.txt file2.txt
백업 생성: cp --backup file1.txt file2.txt

📌 이제 cp 명령어를 자유자재로 활용하여 파일 및 디렉토리를 효율적으로 복사하세요!
🚀 도움이 되셨다면 댓글과 공유 부탁드립니다! 😊