$> cp [옵션] [원본] [사본]
옵션
-a: 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다.
-b: 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사한다.
-d: 만약 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사한다.
-f: 만약 복사할 대상이 이미 있으면 강제로 지우고 복사한다.
-i: 만약 복사할 대상이 이미 있으면 사용자에게 물어본다.
-l: 하드링크 형식으로 복사한다.
-P: 원본 파일 지정을 경로와 같이했을 경우 그 경로 그대로 복사된다.
-p: 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사된다.
-r: 원본이 파일이면 그냥 복사되고 디렉터리라면 디렉터리 전체가 복사된다.
-s: 파일을 심볼릭 링크 형식으로 복사한다. 원본 파일이름을 절대 경로로 지정해야 한다.
-u: 복사할 대상이 있을 때 이 파일의 변경 날짜가 같거나 더 최근의 것이면 복사하지 않는다.
-v: 복사 상태를 보여준다.
-x: 원본과 대상 파일의 파일시스템이 다를 경우에는 복사하지 않는다.
-R: 디렉터리를 복사할 경우 그 안에 포함된 모든 하위경로와 파일들을 모두 복사한다.
$> cp -r /data /data2
이렇게 하면 하위 폴더도 다 복사함.
근데, 소유자, 그룹, 시간등도 똑같이 복사, 또는 백업을 하고 싶으면,
-a 를 붙이며 된다.
$> cp -ar /data /data2
* -p : 복사되어 새로 생성되는 파일이 원본파일과 동일한 모드, 소유자, 시간정보를 가지도록 하는 옵션이다.
이 옵션은 바로위의 --preserve 옵션에서 mode,ownership,timestamps 3가지 속성을 동시에 지정한 것과 같다.
즉, "--preserve=mode,ownership,timestamps" 를 사용한 것과 동일한 결과를 가진다.
근데, 나 같은 경우는 모드나, 소유자는 상관없고, 파일 생성일은 유지하고 싶어서,
--preserve 옵션을 사용했다.
$> cp -r --preserve=timestamps /data /data2
이렇게 하면, 복사 할때 넣는 사용자가 소유자로 들어가고, 생성 시간만 그대로 들어가기때문에,
다른곳에서 사용할때 권한때문에 막히는거 없이 사용가능하다.
'컴퓨터 > 리눅스 클라우드(AWS, GCP)' 카테고리의 다른 글
리눅스 백그라운드 작업(SSH 끊겨도 유지) (0) | 2018.02.01 |
---|---|
리눅스 복사 프로그램(쉘스크립트)만들기 (0) | 2018.02.01 |
rsync를 이용한 리눅스파일 복사(리모트 복사) (0) | 2018.01.31 |
리눅스 폴더 소유자 바꾸기 (0) | 2018.01.31 |
도메인 여러개 포트별로 설정해주기 (0) | 2018.01.29 |