cp (유닉스)

위키百科, 우리 모두의 百科事典.

cp
開發者 AT&T 벨 硏究所
發表日 1971年 11月 3日 (52年 前) ( 1971-11-03 )
運營 體制 유닉스 , 유닉스 系列
種類 命令語

cp 유닉스 에서 한 파일 을 어떤 場所에서 다른 場所로 또는 다른 파일 시스템에 複寫할 때 使用하는 命令語이다. 原本 파일은 그대로 남아있고, 새로운 파일이 旣存 파일과 같거나 다른 이름으로 複寫된다. 命令語의 이름은 複寫하다( c o p y)라는 英語 單語에서 由來되었다.

이 文書는 POSIX 시스템의 命令語를 敍述한다. 리눅스 시스템의 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

옵션 [ 編輯 ]

-f
(force) 萬若 한 目標(target) 파일이 쓰기 機能을 위해서 열리기 않는 境遇 그 目標 파일을 削除할 것을 明示한다. 이러한 削除는 cp 命令語로 遂行될 다른 複寫보다 먼저 施行된다.
-P
cp 命令語가 심볼릭 링크를 輻射하도록 만든다. 그 基本값(內定값)은 심볼릭 링크를 따라가도록 되어 있다. 卽 파일을 記號化된 링크가 指示하는 곳으로 輻射하도록 한다.
-i
(interactive) 파일을 덮어써야 할 境遇 파일이름과 함께 프롬프트가 나탄亂다. 이것은 TargetDirectory 또는 TargetFile 因子가 SourceFile 또는 SourceDirectory 人者에 明細된 파일과 같은 이름을 가진 파일을 갖고 있을 境遇 일어난다. 萬若 y(es) 또는 現在 로케일에서 y(es)에 該當하는 것을 入力하면 cp 命令語가 進行된다. 그밖의 다른 命令語들은 cp 命令語가 그 파일을 重複 複寫하는 것을 막는다.
-p
(preserve) 各各의 소스 파일/소스 디렉터리의 다음의 文字들을 對應하는 타켓 파일이나 타겟 디렉터리 안에 複寫한다:
  • 데이터의 마지막 修正 時間이나 데이터로의 마지막 接續 時間
  • 使用者 ID나 그룹 ID(萬若 그 파일에 接續 權限이 있을 境遇에만)
  • 그 파일의 許容 비트나 SUID SGID 비트
-R
(recursive) 디렉터리를 複寫한다(순환적으로 안에 들어있는 모든 內容物을 複寫한다)

예제 [ 編輯 ]

파일을 現在 디렉터리로 複寫하기 위해서는, 다음과 같이 入力한다.

   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로 複寫한다.


한 파일을 새로운 파일로 複寫하거나 그 파일의 修正 날짜, 時間, 소스 파일과 關聯된 接近 制限 目錄을 保管하기 위해서는, 다음과 같이 入力한다.

   cp -p smith smith.jr

이것은 smith 파일을 smith.jr 파일로 複寫한다. 現在 날짜나 時間 記錄을 갖고 있는 파일을 새로 만들기보다는, 시스템이 smith.jr 파일에 smith 파일과 같은 날짜와 時間을 附與한다. 또한 smith.jr 파일은 smith 파일의 接近 制限 保護를 內在한다.


한 디렉터리에 있는 모든 파일들을 새로운 디렉터리로 複寫하기 위해서는, 다음과 같이 入力한다.

   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 디렉터리로 複寫한다.


파일을 複寫하기 爲해서 pattern-matching 文字를 使用한다. 다음과 같이 入力한다.

   cp programs/*.c .

이것은 programs 디렉터리 안에 있는 .c로 끝나는 파일을 現在 디렉터리로 現在 디렉터리로 複寫한다. 이때 .(點)은 現在 디렉터리를 나타낸다. 入力時 c와 마지막 . 사이를 스페이스로 반드시 띄어야 한다.

關聯 유닉스 命令語 [ 編輯 ]

cpio
全體 디렉터리 構造를 한 場所에서 다른 場所로 複寫한다
tar
파일들의 아카이브(archive)를 만든다
link
다른 파일이나 디렉터리를 連結하기 위한 링크를 만들기 위한 시스템 콜
ln
다른 파일이나 디렉터리로의 링크를 만든다
mv
파일이나 디렉터리를 이동시킨다
rm
파일이나 디렉터리를 削除한다
unlink
파일이나 디렉터리를 削除하기 위한 시스템 콜
chmod
파일이나 디렉터리의 使用 許可를 바꾼다
chown
파일이나 디렉터리의 所有權을 바꾼다
chgrp
파일이나 디렉터리의 그룹을 바꾼다
uucp
유닉스에서 유닉스로 複寫
scp
SSH 로 安全하게 複寫(secure copy)

參考 [ 編輯 ]