[unix] cp -r과 cp -a의 차이점

나는 사이의 차이를 찾고 있어요 cp -rcp -a. 폴더에서 파일을 복사한다는 점에서 “재귀 적”이란 무엇입니까?



답변

재귀 cp는 디렉토리의 내용 을 복사하는 것을 의미하며 , 디렉토리에 서브 디렉토리가있는 경우에도 (재귀 적으로) 복사됩니다. 하지 않고 -Rcp명령은 디렉토리를 건너 뜁니다. Linux -r와 동일하지만 -R일부 유닉스 경우 다른 유닉스 변형과 다릅니다.

기본적으로 cp이전 파일과 내용이 같고 권한은 있지만 umask에 의해 제한되는 새 파일을 작성합니다 . 사본은 사본 시점부터 날짜가 있으며 사본을 수행하는 사용자에게 속합니다. 이 -p옵션을 사용하면 사본의 수정 시간, 액세스 시간 및 원본과 동일한 권한을 갖습니다. 또한 사본을 수행하는 사용자가 그러한 파일을 작성할 권한이있는 경우 원본과 동일한 소유자 및 그룹을 갖습니다.

-a옵션은 -R-p몇 가지 다른 보존 옵션을 의미합니다. 동일한 디렉토리 트리, 동일한 파일 형식, 동일한 내용, 동일한 메타 데이터 (시간, 권한, 확장 된 속성 등)와 최대한 원본에 가까운 사본을 만들려고 시도합니다.


답변

“재귀 적”에 대한 -r 또는 -R 옵션은 하위 폴더 내의 파일을 포함하여 모든 파일을 복사한다는 것을 의미합니다.

나열된 -a 옵션은 -dR과 동일하므로 링크를 유지하고 서브 디렉토리의 내용을 복사합니다. 링크를 유지한다는 것은 재귀 적으로 복사 할 때 링크를 따르지 않는다는 의미입니다.


답변