Cp (유닉스): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
잔글편집 요약 없음
1번째 줄:
<tt>cp</tt>는 [[Unix유닉스]] [[셸]]에서 한 [[컴퓨터 파일|파일]]을 어떤 장소에서 다른 장소로 또는 다른 파일 시스템으로 옮길 때 사용하는 명령어이다. 원본 파일은 그대로 남아있고 새로운 파일이 기존 파일과 같은 이름으로 혹은 다른 이름으로 새로 생기게 된다.
 
이 문서는 [[POSIX]] 시스템의 명령어를 서술한다. [[Linux리눅스]] 시스템의 <tt>cp</tt>는 추가적인 옵션들을 갖는다.
 
== 사용법 ==
10번째 줄:
 
 
한 파일을 다른 디렉토리로디렉터리로 복사하기 위해서는
 
cp [ -f ] [ -H ] [ -i ] [ -p ] [ -r | -R ] [ -- ] SourceFile ... TargetDirectory
 
 
디렉토리를디렉터리를 다른 디렉토리로디렉터리로 복사하기 위해서는
 
cp [ -f ] [ -H ] [ -i ] [ -p ] [ -- ] { -r | -R } SourceDirectory ... TargetDirectory
23번째 줄:
;<tt>-f</tt>: (force) 만약 한 목표(target) 파일이 쓰기 기능을 위해서 열리기 않는 경우 그 목표 파일을 삭제할 것을 명시한다. 이러한 삭제는 cp 명령어로 수행될 다른 복사보다 먼저 시행된다.
 
;<tt>-P</tt>: <tt>cp</tt> 명령어가 심볼릭 링크를 복사하도록 만든다. 그 디폴트기본값(내정값)은 심볼릭 링크를 따라가도록 되어있다되어 있다. 즉 파일을 기호화된 링크가 지시하는 곳으로 복사하도록 한다.
 
;<tt>-i</tt>: (interactive) 파일을 덮어써야 할 경우 파일이름과 함께 프롬프트가 나탄난다. 이것은 TargetDirectory 또는 TargetFile 인자가 SourceFile 또는 SourceDirectory 인자에 명세된 파일과 같은 이름을 가진 파일을 갖고 있을 경우 일어난다. 만약 y(es) 또는 현재 로케일에서 y(es)에 해당하는 것을 입력하면 cp 명령어가 진행된다. 그밖의 다른 명령어들은 cp 명령어가 그 파일을 중복 복사하는 것을 막는다.
 
;<tt>-p</tt>: (preserve) 각각의 소스 파일/소스 디렉토리의디렉터리의 다음의 문자들을 대응하는 타켓 파일이나 타겟 디렉토리디렉터리 안에 복사한다:
:* 데이타의데이터의 마지막 수정 시간이나 데이타로의데이터로의 마지막 접속 시간
:* 사용자 ID나 그룹 ID(만약 그 파일에 접속 권한이 있을 경우에만)
:* 그 파일의 허용 비트나 [[SUID]]나 [[SGID]] 비트
 
;<tt>-R</tt>: (recursive) 디렉토리를디렉터리를 복사한다(순환적으로 안에 들어있는 모든 내용물을 복사한다)
 
== 예제 ==
 
파일을 현재 디렉토리로디렉터리로 복사하기 위해서는, 다음과 같이 입력 :
 
cp prog.c prog.bak
43번째 줄:
 
 
현재 디렉토리디렉터리 안에 있는 파일을 다른 디렉토리로디렉터리로 옮기기 위해서는, 다음과 같이 입력 :
cp jones /home/nick/clients
57번째 줄:
 
 
디렉토리에디렉터리에 있는 모든 파일들을 새로운 디렉토리로디렉터리로 복사하기 위해서는, 다음과 같이 입력 :
 
cp /home/janet/clients/* /home/nick/customers
 
이것은 cilents 디렉토리에디렉터리에 있는 파일만을 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 디렉토리로디렉터리로 복사한다.
 
 
81번째 줄:
cp programs/*.c .
 
이것은 programs 디렉토리디렉터리 안에 있는 .c로 끝나는 파일을 현재 디렉토리로디렉터리로 현재 디렉토리로디렉터리로 복사한다. 이때 .(점)은 현재 디렉토리를디렉터리를 나타낸다. 입력시 c와 마지막 . 사이를 스페이스로 반드시 띄어야 한다.
 
== 관련 유닉스 명령어 ==
 
; <tt>[[cpio]]</tt> : 전체 디렉토리디렉터리 구조를 한 장소에서 다른 장소로 복사한다
; <tt>[[Tar (파일 포맷)|tar]]</tt> : 파일들의 archive를 만든다
; <tt>[[link]]</tt> : 다른 파일이나 디렉토리를디렉터리를 연결하기 위한 링크를 만들기 위한 system call
; <tt>[[ln]]</tt> : 다른 파일이나 디렉토리로의디렉터리로의 링크를 만든다
; <tt>[[mv]]</tt> : 파일이나 디렉토리를디렉터리를 이동시킨다
; <tt>[[rm (유닉스)|rm]]</tt> : 파일이나 디렉토리를디렉터리를 삭제한다
; <tt>[[unlink]]</tt> : 파일이나 디렉토리를디렉터리를 삭제하기 위한 system call
; <tt>[[chmod]]</tt> : 파일이나 디렉토리의디렉터리의 사용 허가를 바꾼다
; <tt>[[chown]]</tt> : 파일이나 디렉토리의디렉터리의 소유권을 바꾼다
; <tt>[[chgrp]]</tt> : 파일이나 디렉토리의디렉터리의 그룹을 바꾼다
; <tt>[[uucp]]</tt> : 유닉스에서 유닉스로 복사
; <tt>[[scp]]</tt> : [[SSH]]로 secure copy