'리눅스cp'에 해당되는 글 1건

  1. 2018.01.31 cp를 이용한 폴더 복사
2018. 1. 31. 17:50

$> 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



이렇게 하면, 복사 할때 넣는 사용자가 소유자로 들어가고, 생성 시간만 그대로 들어가기때문에,


다른곳에서 사용할때 권한때문에 막히는거 없이 사용가능하다.

Posted by Tyson