geonex.log

[UNIX 명령어 #2] cp – 파일과 디렉터리 복사 본문

테크/활용

[UNIX 명령어 #2] cp – 파일과 디렉터리 복사

geonex 2025. 6. 20. 16:15
728x90

cp 명령어란?

cp는 유닉스, 리눅스, macOS 등 모든 유닉스 계열 OS에서 **파일이나 디렉터리(폴더)를 복사**할 때 사용하는 표준 명령어이다.
윈도우의 COPY와 동일한 역할을 하며, 파일에서 파일, 디렉터리에서 디렉터리로 다양한 복사가 가능하다.

1. 기본 사용법

cp [원본] [대상]

cp 파일1.txt 파일2.txt처럼 입력하면 파일1.txt를 복사해 파일2.txt로 만든다.
여러 파일을 한 번에 다른 폴더로 복사할 때는 cp 파일1 파일2 ... 디렉터리/ 형태로 입력한다.

2. 주요 옵션 및 상세 설명

옵션 설명
-r, -R 디렉터리(폴더)를 하위까지 모두 재귀적으로 복사한다
-i 덮어쓰기 전에 사용자에게 확인을 요청한다
-u 대상 파일이 오래되었거나 없을 때만 복사한다
-v 복사 과정을 자세히 출력한다
-p 파일의 권한, 소유자, 시간 정보까지 같이 복사한다
-a 보관(아카이브) 모드: 대부분의 속성, 링크, 권한, 소유권까지 보존

3. 실전 활용 예시

  • 단일 파일 복사
    cp test.txt backup.txt : test.txt 파일을 backup.txt라는 이름으로 복사한다
  • 여러 파일을 폴더로 복사
    cp a.txt b.txt c.txt backup/ : a.txt, b.txt, c.txt 파일을 backup 폴더로 복사한다
  • 폴더 전체 복사
    cp -r project/ backup/ : project 폴더 전체를 backup 폴더로 복사한다
  • 복사 과정 확인하며 실행
    cp -v *.jpg images/ : 현재 폴더의 모든 jpg 파일을 images 폴더로 복사하고 과정을 출력한다
  • 권한/소유자까지 보존
    cp -a data/ data_bak/ : data 폴더 전체를 권한, 소유자, 링크까지 포함해 data_bak으로 복사한다

4. 알아두면 좋은 점

  • 폴더 전체 복사는 반드시 -r 또는 -a 옵션이 필요하다
  • 복사 과정에서 실수로 덮어쓰지 않으려면 -i 옵션을 자주 활용한다
  • cp 명령어는 쉘 스크립트 자동화, 대량 파일 관리에 필수적이다
  • macOS, 리눅스 모두에서 거의 동일하게 동작한다

5. 정리

cp 명령어는 유닉스 계열 시스템에서 파일과 디렉터리를 복사할 때 가장 기본이 되는 명령어이다.
옵션 조합을 통해 복잡한 폴더 복사, 권한 유지, 대량 파일 처리 등 다양한 작업에 폭넓게 쓸 수 있다.
다음 편에서는 파일/폴더 이동 및 이름 변경 명령어인 mv를 소개할 예정이다.

728x90