cp - 파일 복사

요약

cp [-r | -R [-H | -L | -P] ] [-fhipt] source_file target_file

cp [-r | -R [-H | -L | -P] ] [-fhipt] source_file ... target_directory

설명

첫 번째 요약 양식에서 cp 유틸리티는 source_file의 컨텐츠를 target_file로 복사합니다.

두 번째 요약 양식에서 cp 유틸리티는 source_file로 명명된 각각의 컨텐츠를 목적지 target_directory의 파일로 복사합니다. 파일 자체의 이름은 변경되지 않습니다. source_file라는 디렉토리만 있고 -R 플래그가 지정된 경우 외에는 target_directory가 있어야 합니다.

cp가 자체에 파일을 복사하려는 시도를 감지하면 복사는 실패합니다.

target_file이 없는 경우, target_file을 작성할 때 파일 작성 마스크에 의해 수정된 대로 source_file의 모드가 사용됩니다. 새 파일을 작성할 때 S_ISUID 및 S_ISGID 파일 허용 비트는 설정되지 않습니다.

target_file이 이미 있고 -t 옵션이 지정되지 않은 경우, 해당 컨텐츠가 2진 데이터로 겹쳐써지고 CCSID 속성이 source_file의 CCSID 속성과 일치하도록 변경됩니다. target_file의 파일 허용 비트, 소유자 및 그룹은 변경되지 않습니다. -t 옵션을 사용하여 데이터가 텍스트로 복사되도록 강제실행할 수 있습니다. -p 옵션을 사용하여 파일 허용 비트, 소유자 및 그룹이 복사되도록 강제실행할 수 있습니다.

QSYS.LIB 파일 시스템의 멤버로 복사하는 경우, source_file의 많은 속성은 파일 오브젝트와 연관되어 있고 멤버가 아니기 때문에 유지될 수 없습니다.

-h 옵션이 지정되거나 -R 옵션이 -H 또는 -L 옵션과 함께 지정된 경우 외에는 기호 링크를 항상 따릅니다. -H, -L-P 옵션은 -R 옵션이 지정되지 않으면 무시됩니다. 또한 이러한 옵션은 서로를 대체하고 명령의 조치는 마지막에 지정된 옵션에 의해 판별됩니다.

옵션

-H
-R 옵션이 지정된 경우, 명령행의 기호 링크를 따릅니다. 트리 조회에서 발견된 기호 링크를 따르지 않으며, 기호 링크가 가리키는 파일이 아니라 기호 링크가 복사됩니다.
-L
-R 옵션이 지정된 경우, 명령행의 기호 링크와 트리 조회에서 발견된 기호 링크를 모두 따릅니다.
-P
-R 옵션이 지정된 경우, 기호 링크를 따르지 않습니다. 트리 조회에서 발견된 기호 링크가 가리키는 파일이 아니라 해당 기호 링크가 복사됩니다.
-R
source_file이 디렉토리를 지정하는 경우, cp는 디렉토리와 해당 위치에 연결된 전체 서브트리를 복사합니다. 이 옵션 때문에 cp는 특수 파일을 보통 파일로 복사하지 않고 작성합니다. 작성된 디렉토리는 파일 작성 마스크에 의해 수정되지 않아 해당 소스 디렉토리와 동일한 모드를 가집니다.
-f
쓰기 조작을 위해 열 수 없는 경우 target_file을 제거합니다. 데이터를 복사하기 전에 새 파일이 작성됩니다.
-h
기호 링크가 가리키는 파일 대신에 기호 링크를 복사합니다.
-i
기존 파일을 겹쳐쓸 파일을 복사하기 전에 프롬트를 표준 오류에 기록합니다. 표준 입력의 응답이 현재 로케일에서 YES 응답의 첫 번째 문자로 시작하는 경우, 파일 복사가 시도됩니다.
-p
권한으로 허용되는 만큼의 수정 시간, 액세스 시간, 파일 허용 비트, 소유자 및 그룹을 복사에서 유지합니다.

소유자 및 그룹을 유지할 수 없는 경우, 오류 메세지가 표시되지 않고 종료 값이 변경되지 않습니다.

S_ISUID 및 S_ISGID 파일 허용 비트는 파일의 소유자 및 그룹이 복사 완료된 경우에만 복사됩니다.

참고:
QSYS.LIB 파일 시스템으로 복사할 때는 이 옵션이 적용되지 않습니다.
-r
이 옵션이 일반 파일과 마찬가지로 특수 파일을 복사한다는 점을 제외하면 -R과 동일합니다. -R 플래그는 -r 플래그보다 선호됩니다.
-t
대상 파일이 있으면, source_file의 데이터를 텍스트 데이터로 처리하고 복사할 때 데이터를 target_file과 연관된 CCSID로 변환합니다. target_file의 CCSID 속성은 변경되지 않습니다.

종료 상태

  • 성공 시 0
  • 오류가 발생한 경우 >0
  1. 파일 "file1"을 서브디렉토리 "data.dir"로 복사하십시오.
    cp file1 data.dir
  2. "code" 서브디렉토리에서 .java 확장자를 갖는 모든 파일을 "code/old_code.dir" 서브디렉토리로 복사하고, 파일이 이미 "code/old_code.dir" 서브디렉토리에 있는 경우에만 겹쳐쓰기 확인 메세지를 사용자에게 보내십시오.
    cp -i code/*.java code/old_code.dir