| HOME / 정보공유 / AIX 명령어 모음

cp
cp cp 명령 목적 파일을 복사합니다. 구문
다른 파일로 파일을 복사하려는 경우
cp [ -f ] [ -h ] [ -i ] [ -p ][ -- ] SourceFile TargetFile
디렉토리로 파일을 복사하려는 경우
cp [ -f ] [ -h ] [ -i ] [ -p ] [ -r | -R ] [ -- ] SourceFile ... TargetDirectory
디렉토리로 디렉토리를 복사하려는 경우
cp [ -f ] [ -h ] [ -i ] [ -p ] [ -- ] { -r | -R } SourceDirectory ... TargetDirectory
설명
cp 명령은 SourceFile 매개변수에 지정한 소스 파일을 TargetFile 매개변수에 지정한 대상 파일에 복사합니다. 목표 파일이 있을 경우 cp에서 내용을 겹쳐쓰지만 파일과 연관된 모드, 소유자 및 그룹은 변경되지 않습니다. SourceFile의 마지막 액세스 시간 및 TargetFile의 마지막 수정 시간이 복사가 완료된 시간으로 설정됩니다. TargetFile이 없을 경우 cp는 TargetFile이라는 새로운 파일을 작성합니다. 이 파일은 소스 파일과 같은 모드를 갖지만 수퍼 사용자가 스티키(skicky) 비트를 설정하지 않으면 스티키 비트는 설정되지 않으며 TargetFile의 소유자 및 그룹은 사용자의 소유자 및 그룹입니다. TargetFile이 다른 파일에 링크되어 있으면 cp에서 대상 링크를 소스 파일의 내용으로 대체하고 TargetFile로부터의 링크는 그대로 있습니다. 또한 cp 명령은 SourceFile 매개변수로 지정된 소스 파일(또는 SourceDirectory 매개변수로 지정된 디렉토리)을 TargetDirectory 매개변수로 지정된 디렉토리로 복사할 수 있습니다.
주: 소스 매개변수 중 하나가 디렉토리일 경우 -r 또는 -R 플래그 중 하나를 지정해야 합니다.
복사 프로세스 중 cp 명령으로 디렉토리가 작성된 경우 새로 작성된 디렉토리의 모드는 해당 소스 디렉토리와 같습니다.
특수한 장치 파일을 복사할 수도 있습니다. 이 작업을 수행하기 위해서는 -R 플래그를 사용하는 것이 좋습니다. -R을 지정하면 새로운 경로 이름으로 특수 파일이 재작성됩니다. -r 플래그를 지정하면 cp 명령에서 정규 파일로 특수 파일을 복사하려 시도합니다.
플래그
-f 목표 파일이 쓰기 조작을 위해 열릴 수 없는 경우에 목표 파일의 제거를 지정합니다. 제거는 cp 명령으로 수행되는 복사에 앞섭니다.
-h cp 명령이 심볼 링크를 복사하도록 강제합니다. 디폴트는 심볼 링크를 따르는 것입니다. 즉, 심볼 링크가 지시하는 곳에 파일을 복사합니다.
-i 겹쳐쓰기될 파일 이름을 입력하도록 프롬프트 표시합니다. TargetDirectory 또는 TargetFile 매개변수에 SourceFile 또는 SourceDirectory 매개변수에 지정된 파일과 같은 이름의 파일이 있을 경우 이런 일이 발생합니다. y 또는 y와 동일한 로케일 값을 입력하는 경우, cp 명령이 계속 수행됩니다. 그 밖의 모든 대답은 cp 명령이 파일을 겹쳐쓰지 못하게 합니다.
-p 해당 TargetFile 및/또는 TargetDirectory에서 각 SourceFile/SourceDirectory의 다음과 같은 특성을 복제합니다.
최종 데이터 수정 시간 및 최종 액세스 시간. 이 복제가 어떤 이유로든 실패하면 cp 명령은 표준 오류에 진단 메세지를 기록합니다.
사용자 ID 및 그룹 ID. 이 복제가 어떤 이유로든 실패하는 경우, cp 명령은 표준 오류에 진단 메세지를 기록할 수 있습니다.
파일 사용권한 비트와 S_ISUID 및 S_ISGID 비트. 이 복제가 어떤 이유로든 실패하는 경우, cp 명령은 표준 오류에 진단 메세지를 기록합니다.
사용자 ID 또는 그룹 ID을 복제할 수 없는 경우 파일 사용권한 비트 S_ISUID 및 S_ISGID가 지워집니다.
소유자 ID 및 그룹 ID, 사용권한 모드, 수정 및 액세스 시간을 보존하려면 사용자에게 해당 파일 액세스 권한이 있어야 합니다. 즉, 사용자가 수퍼 사용자이거나 대상 파일과 같은 소유자 ID를 가져야 합니다.
이들 특성이 보존될 수 없는 경우 목표 파일은 삭제되지 않습니다.
SourceFile과 연관된 액세스 제어 리스트(ACL)도 보존됩니다. ACL에 대해서는 AIX 5L 버전 5.1 시스템 사용자 안내서: 운영 시스템 및 장치의 "액세스 제어로 보호 자원 관리"를 참조하십시오.
-r SourceFile 또는 SourceDirectory 매개변수로 지정된 파일 또는 디렉토리 아래의 파일 계층을 복사합니다(순환 복사). -r 플래그는 일반 파일과 같은 방식으로 특수 파일을 처리합니다.
-R SourceFile 또는 SourceDirectory 매개변수로 지정된 정규 파일 및 디렉토리 아래의 파일 계층을 TargetDirectory 매개변수로 지정된 디렉토리로 복사합니다. 선입선출법(FIFO) 파일과 블록 및 문자 장치 파일과 같은 특수 파일 유형은 복사되는 대신 재작성됩니다. -h 플래그가 지정되지 않는 한, 심볼 링크가 뒤따릅니다(-R 플래그는 -r 플래그에 우선됩니다).
-- --(대쉬, 대쉬) 플래그 뒤에 오는 매개변수가 파일 이름으로 해석될 것임을 나타냅니다. 이 널(null) 플래그는 -(마이너스 기호)로 시작하는 파일 이름의 스펙을 허용합니다.
종료 상태
이 명령은 다음과 같은 종료값으로 복귀합니다.
0 모든 파일이 성공적으로 복사되었습니다.
>0 오류가 발생하였습니다.
예제
현재 디렉토리에 있는 파일의 사본을 만들려면, 다음과 같이 입력하십시오.
cp prog.c prog.bak
이 명령은 prog.c를 prog.bak로 복사합니다. prog.bak 파일이 아직 존재하지 않는 경우, cp 명령은 파일을 작성합니다. 파일이 있으면 cp 명령은 이 파일을 prog.c 파일의 사본으로 대체합니다.
현재 디렉토리의 파일을 다른 디렉토리로 복사하려면 다음과 같이 입력하십시오.
cp jones /home/nick/clients
이 명령은 jones 파일을 /home/nick/clients/jones로 복사합니다.
파일을 새 파일에 복사하고 소스 파일과 연관되는 수정 날짜, 시간 및 액세스 제어 리스트(ACL)를 보존하려면, 다음과 같이 입력하십시오.
cp -p smith smith.jr
이 명령은 smith 파일을 smith.jr 파일로 복사합니다. 현재 날짜 및 시간소인을 갖는 파일을 작성하는 대신, 시스템은 smith.jr 파일에 smith 파일과 같은 날짜 및 시간을 부여합니다. smith.jr 파일은 또한 smith 파일의 액세스 제어 보호를 상속합니다.
한 디렉토리의 모든 파일을 새로운 디렉토리로 복사하려면 다음과 같이 입력하십시오.
cp /home/janet/clients/* /home/nick/customers
이 명령은 clients 디렉토리의 파일만 customers 디렉토리로 복사합니다.
모든 파일 및 서브디렉토리를 포함하여 디렉토리를 다른 디렉토리로 복사하려면 다음과 같이 입력하십시오.
cp -R /home/nick/clients /home/nick/customers
이 명령은 모든 파일, 서브디렉토리 및 서브디렉토리의 파일을 포함하여 clients 디렉토리를 customers/clients 디렉토리로 복사합니다.
파일의 특정 세트를 다른 디렉토리로 복사하려면 다음과 같이 입력하십시오.
cp jones lewis smith /home/nick/clients
이 명령은 현재 작업 디렉토리의 jones, lewis 및 smith 파일을 /home/nick/clients 디렉토리로 복사합니다.
사용자 패턴-대응 문자를 사용하여 파일을 복사하려면 다음과 같이 입력하십시오.
cp programs/*.c .
이 명령은 .c로 끝나는 programs 디렉토리의 파일을 단일 .로 신호화된 현재 디렉토리로 복사합니다. c 및 마지막 점 사이에 공백을 입력해야 합니다.
파일
/usr/bin/cp cp 명령이 있습니다.
관련 정보
cpio 명령, link 명령, ln 명령, mv 명령, unlink 명령.