반응형
1. cp 란?
cp는 리눅스에서 파일이나 디렉터리를 복사(copy) 할 때 사용하는 명령어다.
mv와 달리 원본은 그대로 두고, 동일한 내용을 가진 사본을 만든다는 점이 핵심이다.
설정 파일 백업, 배포 전 원본 보존 등 초보자부터 실무까지 매우 자주 사용된다.
2. 기본 사용 방법
cp [원본] [대상]
- 대상이 파일명이면: 파일을 복사하면서 이름을 변경한다.
- 대상이 디렉터리면: 해당 디렉터리 안으로 복사된다.
2.1 파일 복사 예시
cp a.txt b.txt
a.txt를 복사해 b.txt를 만든다.
2.2 디렉터리로 복사
cp a.txt /tmp/
a.txt를 /tmp/ 디렉터리로 복사한다.
3. 자주 사용하는 옵션 정리
3.1 -i : 덮어쓰기 전에 확인(Interactive)
cp -i a.txt /tmp/
대상 위치에 같은 이름의 파일이 있으면 덮어쓸지 물어본다.
중요한 파일을 실수로 덮어쓰는 사고를 방지할 수 있다.
3.2 -n : 덮어쓰지 않기(No clobber)
cp -n a.txt /tmp/
대상 파일이 이미 존재하면 아무 작업도 하지 않는다.
자동화 스크립트에서 기존 파일을 보호할 때 유용하다.
3.3 -f : 강제로 덮어쓰기(Force)
cp -f a.txt /tmp/
기존 파일이 있어도 확인 없이 덮어쓴다.
배치 작업에서 사용되지만, 초보자에게는 매우 위험할 수 있다.
3.4 -r / -R : 디렉터리 재귀 복사 (필수)
cp -r dir1 dir2
디렉터리 전체를 복사할 때 반드시 필요한 옵션이다.
옵션 없이 디렉터리를 복사하면 에러가 발생한다.
3.5 -a : 아카이브 모드 (실무 핵심)
cp -a dir1 dir2
아래 속성을 그대로 유지하면서 복사한다.
- 권한
- 소유자
- 타임스탬프
- 심볼릭 링크
👉 서버에서 디렉터리 백업할 때 가장 많이 쓰는 옵션
3.6 -v : 실행 과정 출력(Verbose)
cp -v a.txt /tmp/
복사되는 파일을 하나씩 출력해 준다.
초보자나 작업 로그가 필요한 상황에서 유용하다.
3.7 -u : 더 최신 파일만 복사(Update)
cp -u a.txt /tmp/
대상 파일보다 원본이 더 최신일 경우에만 복사한다.
백업이나 동기화 작업에 적합하다.
4. 옵션 조합 예제 (이건 꼭!)
4.1 실무에서 가장 많이 쓰는 조합
cp -av dir1 dir2
- -a : 권한/소유자 유지
- -v : 복사 과정 확인
👉 서버 설정 디렉터리 백업 시 사실상 표준 조합
4.2 안전한 파일 복사
cp -iv a.txt /tmp/
- 덮어쓰기 전 확인
- 작업 내용 출력
4.3 자동화 스크립트용 안전 조합
cp -nuv a.txt /tmp/
- 기존 파일 보호
- 최신 파일만 복사
- 로그 출력
5. 초보자가 자주 하는 실수
5.1 디렉터리를 옵션 없이 복사하려고 함
cp dir1 dir2 ❌
- 에러 발생
- 해결 방법: -r 또는 -a 사용
5.2 백업인데 권한이 깨짐
cp -r dir1 dir2 ❌
- 파일은 복사되지만 권한/소유자가 달라질 수 있음
- 해결 방법: cp -a 사용
5.3 덮어쓰기 사고
cp a.txt /tmp/
- 같은 이름 파일이 있으면 바로 덮어씀
- 해결 방법: -i 옵션 습관화
6. 정리 한 줄 요약
- cp는 원본을 보존하면서 복사하는 명령어다.
- 이것만 기억하자: 디렉터리/백업은 cp -av
반응형
'리눅스 생활 하고파' 카테고리의 다른 글
| [리눅스 명령어] mv 기초부터 옵션까지 한 번에 정리 (0) | 2026.01.15 |
|---|---|
| [리눅스 기초 개념] 상대경로와 절대경로 완전 정리 (명령어 사용 전 필수) (0) | 2026.01.14 |
| [리눅스 명령어] ls 기초부터 옵션까지 한 번에 정리 (0) | 2026.01.14 |