cp 명령어 옵션 및 실행 시 일괄 덮어쓰기 설정 | yes, \(역슬래쉬) 2가지 설정

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)
테스트 환경RHEL 계열AlmaLinux 9.8root 계정2026-10-05 확인

cp 명령어로 여러 파일을 복사하면 파일마다 덮어쓸지 묻는 확인이 나와 작업이 멈춥니다. cp 명령어는 Copy의 약자로 파일과 디렉토리를 복사하며, 이 글에서는 기본 사용법과 옵션, 확인 없이 일괄로 덮어쓰는 방법 2가지를 정리했습니다.

cp 명령어는 목적지에 같은 이름의 파일이 있으면 묻지 않고 덮어씁니다. 이를 막기 위해 [alias cp=’cp -i’]가 설정되어 있어, 덮어쓰기 전에 확인을 묻게 됩니다.

✅ 기본 사용 방법

기본 사용법은 아래와 같습니다.

cp -[옵션] <복사할 파일 또는 디렉토리> <목적지 경로 또는 파일 또는 디렉토리 경로>

복사할 대상을 먼저 적고, 목적지나 새 이름을 그 뒤에 적습니다.

CP 명령어
# 파일 > 파일 복사 
cp file1 file2
# 파일 > 디렉토리 내 복사
cp file1 dir1/
# 2개 파일 > 디렉토리 내 복사
cp file1 file2 dir1/
 testuser]# cp dir1/ dir2/
cp: -r not specified; omitting directory 'dir1/'

디렉토리 복사는 -r 또는 -R, 혹은 -a 옵션을 써야 합니다.

  • -r/-R : 디렉토리와 하위 내용 재귀 복사
  • -a : 속성 유지하며 재귀 복사 (내부에 -r 포함)

✅ cp 명령어 일괄 덮어쓰기 설정 2가지 방법

cp 명령어를 실행하면 [overwrite]를 묻는데, cp에 [cp -i] 별칭(alias)이 설정되어 있기 때문입니다.

cp -a
cp: overwrite 'messages_ori'? y
~]# alias cp
alias cp='cp -i'

파일이 한두 개면 괜찮지만 여러 파일을 복사할 때는 파일마다 답해야 해서 번거롭습니다.

이럴 때는 아래 두 가지 방법으로 확인 없이 덮어쓸 수 있습니다.

yes | cp -ar /home/ ./

첫 번째는 [yes |]를 앞에 붙이는 방법으로, 확인마다 y가 자동으로 입력되어 그대로 복사됩니다. 두 번째는 명령어 앞에 역슬래쉬[\]를 붙이는 방법으로, 별칭을 거치지 않고 원래 cp 명령어가 실행됩니다.

\cp -ar /home/ ./

✅ cp 명령어 옵션 & 시뮬레이터

옵션설명
-a--archive원본 파일의 권한, 소유자, 그룹, 시간정보 등 모두 유지하며 복사[권한, 소유자, 그룹, 시간정보 등 모두 보존] + [-d : 심볼릭 링크 자체를 복사] + [-R : 디렉토리 재귀 복사]
-b복사 대상이 이미 존재할 경우, 기존 파일을 백업 후 복사
-d원본이 심볼릭 링크일 경우, 링크 자체를 복사
-f대상 파일이 있을 경우 강제로 삭제하고 복사
-i--interactive덮어쓰기 전에 사용자에게 확인 요청alias cp='cp -i'
-l(소문자)하드 링크 형태로 복사
-P심볼릭 링크를 따라가지 않고 링크 그대로 복사
-p원본의 소유자, 그룹, 권한, 시간 정보를 그대로 보존
-r, -R디렉토리를 재귀적으로 복사 (하위 디렉토리와 파일까지 포함)-r 옵션은 POSIX 비표준이며 심볼릭 링크나 장치 파일 처리에 문제가 생길 수 있음.
-s심볼릭 링크 형태로 복사 (원본을 절대 경로로 지정해야 함)
-u대상 파일이 더 최신이거나 동일한 경우 덮어쓰지 않음
-v복사 진행 상황 출력 (verbose)복사가 완료되었다는 메시지를 보여주는 옵션
-x원본과 대상 파일의 파일 시스템이 다를 경우에는 복사하지 않는다.
cp 명령어 시뮬레이터alias cp='cp -i'
[root@server work]#
브라우저 안에서만 동작하며 실제 파일은 건드리지 않습니다. cp 옵션을 바꿔 가며 입력하고 ls, cat, diff로 결과를 확인해 보세요. 키보드 ↑↓ 로 앞에서 쓴 명령을 다시 불러오고, uknew help 를 입력하면 쓸 수 있는 명령이 나옵니다.

🔲 -a 옵션: 원본파일 속성 유지 & 하위 디렉토리(&파일) 복사

원본 파일의 속성을 유지하면서 하위 디렉토리까지 복사할 때는 [-a] 옵션만으로 충분합니다. 다만 스크립트나 자동화 도구에서 [-r]을 명시적으로 요구하는 경우가 있어, [-r]이나 [-R] 옵션을 함께 쓰기도 합니다.

 testuser]# cp -a dir1 dir2
 testuser]# ll dir*
dir1:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2

dir2:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2
 testuser]# 

[-d : 심볼릭 링크 자체를 복사]+[-R : 디렉토리 재귀 복사]+[-⁠-preserve=all]

--preserve=all 이 포함하는 항목설명
mode파일 권한 (rwx 등)
ownership소유자(user)와 그룹(group)
timestamps마지막 수정 시간 등의 타임스탬프
links하드링크 개수 (같은 inode 공유 유지)
contextSELinux 보안 컨텍스트
xattr확장 속성 (파일에 부가적으로 저장되는 메타데이터)
all위의 모든 항목을 한 번에 포함하는 축약형

🔲 -u 옵션: 추가 및 변경된 파일만 복사

  • 대상 경로에 같은 이름의 파일이 없거나, 원본이 더 새로울 경우에만 복사
  • 백업이나 동기화 시 자주 사용
 testuser]# cp -u file1 file2
 testuser]# ll file*
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:30 file2
리눅스(Linux)

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.