본문으로 바로가기

리눅스 cp - 복사

category 리눅스/Linux 일반 2013. 6. 12. 23:08

cp

cp는 파일을 복사하는 명령어로서 copy의 약어이다. 파일이나 디렉토리를 복사할때 사용한다.

test 파일을 test.bak 으로 복사

cp test test.bak 

home 디렉토리의 하위 디렉토리까지 home2 디렉토리로 복사

cp -r /home /home2 

복사할때 파일의 소유자,그룹자,권한,시간정보등이 그대로 복사

cp -rp /home /home2 

cp 명령어를 실행한 사용자의 umask 값에 따라서 파일과 디렉토리의 퍼미션이 결정된다.

[옵션]

  • -b : 복사하고자 하는 파일이 동일한 이름으로 이미 그 위치에 존재하고 있을 경우, 덮어쓰기 또는 원본을 지우고 복사할 경우에 원본파일의 복사본을 만든다.
  • -f : 복사대상파일이 이미 그 위치에 존재한다면 파일을 지우고 복사한다.
  • -i : 복사대상파일이 이미 그 위치에 존재한다면 덮어쓸 것인가를 사용자에게 확인, 기본으로 앨리어싱되어 있음.
  • -P : 복사대상이 되는 원본파일이 디렉토리경로와 함게 지정되었을 경우에 지정된 디렉토리경로를 그대로 복사한다. 즉 이 경우 원본파일은 dir1/subdir2/filename 등과 같이 디렉토리경로와 함께 지정되어야 한다.
  • -u(--update) : 복사되는 원본파일의 이름과 동일한 파일이 대상위치에 존재할 경우에 원본파일과 변경날짜를 비교하여 최신파일일 경우에 복사하지 않는 옵션이다. 즉 원본파일이 목적파일 보다 최신 파일일 경우에만 복사하는 옵션이다.
  • -r 또는 -R (--recursive) : 복사대상이 하위디렉토리와 파일들을 가지고 있을때 모두 동일하게 복사하는 옵션이다.
  • -S (--suffix=확장자) : 원본파일과 동일한 이름의 파일이 이미 존재할 경우에 백업파일을 생성하지만, 백업파일의 끝에 붙여질 접미사(확장자)를 원하는 이름으로 지정하는 옵션이다.
  • --preserve[=ATTR_LIST] : 복사되어 새로 생성되는 파일에 대하여 원본파일과 동일한 속성을 가지도록 하는 옵션이다. 이때 속성을 별도로 지정해야 한다. 만약 별도로 지정하지 않는다면 파일퍼미션, 소유자 정보, 시간정보이 3가지 속성을 기본 적용한다. 이 외에 지정할 수 있는 속성들은 context, links 등이 있으며 모든 속성을 지정하고자 할 경우에는 all 을 사용하면 된다.
  • -p : 복사되어 새로 생성되는 파일이 원본파일과 동일한 모드, 소유자, 시간정보를 가지도록 하는 옵션이다. 이 옵션은 바로위의 --preserve 옵션에서 mode,ownership,timestamps 3가지 속성을 동시에 지정한 것과 같다. 즉, "--preserve=mode,ownership,timestamps" 를 사용한 것과 동일한 결과를 가진다.