본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
파일이나 디렉터리를 복사한다.
  • 유닉스와 리눅스 모두에서 명령어와 옵션이 같음
  • 경로 : /bin/cp
  • 이름은 copy 에서 왔다. 원본은 그대로 남고 새 파일이 하나 더 생긴다. 원본을 옮기려면 mv 를 쓴다.
cp [옵션] 원본 대상
cp [옵션] 원본1 원본2 ··· 디렉터리
  • 대상이 이미 있는 파일이면 덮어쓴다.
  • 대상이 디렉터리면 그 안에 원본과 같은 이름으로 복사한다.
  • 원본을 여러 개 주면 마지막 인자는 반드시 디렉터리여야 한다.
  • -r, -R, --recursive : 디렉터리와 그 하위 내용을 통째로 복사한다. 디렉터리를 복사할 때는 반드시 붙인다.
  • -i, --interactive : 덮어쓰기 전에 물어본다.
  • -f, --force : 대상 파일을 열 수 없으면 지우고 다시 복사한다. 묻지 않고 진행한다.
  • -n, --no-clobber : 이미 있는 파일은 덮어쓰지 않는다.
  • -p : 원본의 권한·소유자·수정 시각을 그대로 보존한다.
  • -a, --archive : -dR --preserve=all 과 같다. 링크·권한·시각을 보존한 채 디렉터리를 통째로 복사한다(백업용).
  • -d : 심볼릭 링크를 따라가지 않고 링크 자체를 복사한다.
  • -l, --link : 복사하지 않고 하드 링크를 만든다.
  • -s, --symbolic-link : 복사하지 않고 심볼릭 링크를 만든다.
  • -u, --update : 원본이 대상보다 새것이거나 대상이 없을 때만 복사한다.
  • -b, --backup : 덮어쓸 대상 파일의 백업(이름 뒤에 ~)을 만든다.
  • -v, --verbose : 복사하는 파일 이름을 출력한다.
$ cp a.txt b.txt              # a.txt 를 b.txt 로 복사
$ cp a.txt /tmp/              # /tmp 아래에 a.txt 로 복사
$ cp -i a.txt b.txt           # b.txt 가 있으면 덮어쓸지 묻는다
$ cp -r /etc/httpd /backup/   # 디렉터리를 하위까지 복사
$ cp -a /home/user /backup/   # 권한·소유자·시각을 보존해 복사

비슷한 명령과 구분

편집 원본 편집
명령 하는 일
cp 파일 복사. 원본이 남는다
mv 파일 이동·이름 변경. 원본이 사라진다
rm 파일 삭제
cat 파일 내용 출력, 여러 파일을 이어 붙여 출력
ls 디렉터리 목록 출력