Cp (유닉스)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
cp는 유닉스 운영체제에서 파일을 복사하는 데 사용되는 명령어이다. cp는 두 개의 파일 경로를 인수로 받아 첫 번째 파일의 내용을 두 번째 파일로 복사하거나, 여러 파일과 디렉터리를 대상 디렉터리로 복사하는 등 세 가지 주요 작동 모드를 가진다. 다양한 옵션을 통해 복사 동작을 제어할 수 있으며, 파일 덮어쓰기, 심볼릭 링크 처리, 권한 보존 등의 기능을 제공한다.
더 읽어볼만한 페이지
- 파일 복사 유틸리티 - Robocopy
Robocopy는 윈도우에 내장된 강력한 파일 복사 유틸리티로, 네트워크 중단 시 복구, 파일 정보 보존 등 다양한 기능을 제공하며, 명령줄 인터페이스와 GUI 프런트 엔드를 지원한다. - 파일 복사 유틸리티 - Copy (명령어)
`copy`는 팀 패터슨의 SCP 86-DOS에서 처음 지원되어 MS-DOS를 비롯한 다양한 운영 체제에서 파일 복사, 이동, 백업 등에 사용되는 명령어이며, 유닉스 계열의 `cp`나 CP/M의 `PIP`와 유사한 기능을 수행한다. - 표준 유닉스 프로그램 - AWK
AWK는 1977년에 개발된 텍스트 처리 및 프로그래밍 언어로, 유닉스 환경에서 텍스트 처리를 위해 설계되었으며 정규 표현식 처리 기능을 통해 텍스트 분석, 데이터 추출, 보고서 생성 등 다양한 작업을 수행한다. - 표준 유닉스 프로그램 - Rm (유닉스)
유닉스 명령어 `rm`은 파일을 삭제하는 데 사용되며, 옵션을 통해 삭제 동작을 제어하고 디렉터리를 재귀적으로 삭제할 수 있지만, 잘못 사용하면 시스템에 심각한 손상을 초래할 수 있어 주의가 필요하며 안전 장치나 휴지통 기능 등의 대안이 존재한다. - 유닉스 SUS2008 유틸리티 - AWK
AWK는 1977년에 개발된 텍스트 처리 및 프로그래밍 언어로, 유닉스 환경에서 텍스트 처리를 위해 설계되었으며 정규 표현식 처리 기능을 통해 텍스트 분석, 데이터 추출, 보고서 생성 등 다양한 작업을 수행한다. - 유닉스 SUS2008 유틸리티 - 로케일
로케일은 소프트웨어 국제화 및 지역화에서 사용자 문화적 배경에 맞춰 사용 환경을 조정하는 설정으로, 표시 언어, 숫자/날짜 형식, 문자 분류, 통화 형식 등을 포함한다.
Cp (유닉스) - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
명령어 종류 | 유닉스 명령어 |
용도 | 파일 복사 |
사용법 | |
옵션 | |
-a | 아카이브 모드, 파일 속성, 심볼릭 링크 등을 보존하여 복사 |
-f | 대상 파일이 존재하면 강제로 삭제 후 복사 |
-i | 덮어쓰기 전에 사용자에게 확인 |
-l | 하드 링크 생성 |
-p | 파일 속성 (소유자, 그룹, 권한, 시간 정보) 보존 |
-r, -R | 디렉터리를 재귀적으로 복사 |
-s | 심볼릭 링크 생성 |
-u | 원본 파일이 대상 파일보다 새로운 경우에만 복사 |
-v | 복사되는 각 파일의 이름을 출력 |
2. 사용법
`cp` 명령어는 세 가지 주요 작동 모드를 가진다. 이 모드들은 명령어 실행 시 주어지는 인자의 유형과 개수에 따라 결정된다.
- 두 개의 파일 경로 이름이 인수로 주어지면, `cp`는 첫 번째 파일의 내용을 두 번째 파일로 복사한다. 필요한 경우 두 번째 파일을 생성한다.
- 하나 이상의 파일 경로 이름 인수와 그 뒤에 디렉터리 경로 인수가 오면, `cp`는 각 원본 파일을 대상 디렉터리로 복사한다. 아직 존재하지 않는 파일은 생성한다.
- 두 개의 디렉터리 경로 이름이 인수로 주어지는 경우, `cp`는 원본 디렉터리의 모든 파일을 대상 디렉터리로 복사하며, 필요한 파일이나 디렉터리를 생성한다. 이 모드는 일반적으로 `-r` 옵션 플래그를 사용하여 디렉터리의 재귀적 복사를 나타낸다. 대상 디렉터리가 이미 존재하면 원본 디렉터리가 대상 디렉터리 안으로 복사되고, 대상 디렉터리가 존재하지 않으면 새로운 디렉터리가 생성된다.
파일을 다른 파일로 복사하는 방법은 다음과 같다:
```
cp [-fHip][--] 원본파일 대상파일
```
파일(들)을 디렉터리로 복사하는 방법은 다음과 같다:
```
cp [-fHip] [--] 원본파일... 대상디렉터리
```
디렉터리를 디렉터리로 복사하는 방법은 다음과 같다(-r 또는 -R을 사용해야 함):
```
cp -r|-R [-fHip] [--] 원본디렉터리... 대상디렉터리
3. 옵션
- `-f` (강제) – 쓰기 작업으로 열 수 없는 경우 대상 파일을 제거하도록 지정한다. 제거는 `cp` 명령어가 수행하는 모든 복사 작업보다 먼저 수행된다.[1]
- `-H` (역참조) – `cp` 명령어가 심볼릭 링크를 따라가도록 하여 대상에 대한 심볼릭 링크가 아닌 대상 파일을 대상에 갖도록 한다.[1]
- `-i` (대화형) – 덮어쓸 파일의 이름으로 프롬프트를 표시한다. 이것은 ''대상 디렉터리'' 또는 ''대상 파일'' 매개변수에 ''SourceFile'' 또는 ''SourceDirectory'' 매개변수에 지정된 파일과 동일한 이름을 가진 파일이 포함된 경우 발생한다. `y`를 입력하면(또는 로캘에 해당하는 `y`), `cp` 명령어가 계속된다. 다른 응답은 `cp` 명령어가 파일을 덮어쓰는 것을 방지한다.[1]
- `-n` (덮어쓰기 없음) – 실수로 파일을 덮어쓰는 것을 방지한다.[1]
- `-p` (보존) – `-p` 플래그는 해당 대상의 각 소스 경로에 대한 다음 특성을 보존한다. ''마지막 데이터 수정'' 시간 및 ''마지막 액세스'' 시간, 소유권(이 작업을 수행할 권한이 있는 경우에만 해당) 및 파일 권한 비트이다.[1]
- `-R` 또는 `-r` (재귀) – 디렉토리를 재귀적으로 복사한다.[1]
아래는 위에 나열된 옵션들에 대한 추가 설명이다.
- '''-f''' (강제) – 복사 대상에 이미 파일이 존재하고, 쓰기용으로 열기에 실패하면 삭제를 시도한다. 삭제는 해당 명령으로 복사하기 전에 수행된다.[1]
- '''-i''' (대화형) – 복사 대상에 이미 파일이 존재할 경우, 사용자에게 덮어쓸지 여부를 묻는다. y를 입력하면 복사를 계속한다. 그 외에는 덮어쓰기를 수행하지 않는다.[1]
- '''-p''' (유지) – SourceFile/SourceDirectory의 다음 속성을 해당 TargetFile/TargetDirectory에도 설정한다.[1]
- 최신 업데이트 시간 및 최신 액세스 시간[1]
- 소유자의 사용자 ID와 그룹 ID (설정 가능한 권한인 경우)[1]
- 파일 권한 (Setuid 및 SGID 비트 포함)[1]
- '''-R''' (재귀적) – 디렉토리를 재귀적으로 복사한다.[1]
4. 예제
파일을 현재 디렉터리로 복사하려면 다음과 같이 입력한다.
```
cp prog.c prog.bak
```
prog.c를 prog.bak로 복사한다. prog.bak 파일이 없다면 cp 명령어가 새로 만든다. 파일이 있다면 prog.c 파일의 내용으로 덮어쓴다.
현재 디렉터리 안의 파일을 다른 디렉터리로 옮기려면 다음과 같이 입력한다.
```
cp jones /home/nick/clients
```
jones 파일을 /home/nick/clients/jones로 복사한다.
파일을 복사하면서 수정 날짜, 시간, 접근 제한 목록을 유지하려면 다음과 같이 입력한다.
```
cp -p smith smith.jr
```
smith 파일을 smith.jr 파일로 복사한다. 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 디렉터리로 복사한다.
패턴 일치 문자를 사용하여 파일을 복사하려면 다음과 같이 입력한다.
```
cp programs/*.c .
```
programs 디렉터리에서 .c로 끝나는 파일을 현재 디렉터리로 복사한다. .(점)은 현재 디렉터리를 나타내며, c와 . 사이에 공백이 필요하다.
5. 관련 명령어
- cpio - 전체 디렉터리 구조를 한 곳에서 다른 곳으로 복사한다.
- tar - 파일 아카이브를 만든다.
- link - 파일이나 디렉터리를 연결하기 위한 링크를 만드는 시스템 콜이다.
- ln - 파일이나 디렉터리로의 링크를 만든다.
- mv - 파일이나 디렉터리를 이동시킨다.
- rm - 파일이나 디렉터리를 제거한다.
- unlink - 파일이나 디렉터리를 제거하기 위한 시스템 콜이다.
- chmod - 파일이나 디렉터리의 사용 허가를 바꾼다.
- chown - 파일이나 디렉터리의 소유권을 바꾼다.
- chgrp - 파일이나 디렉터리의 그룹을 바꾼다.
- uucp - 유닉스 간 복사이다.
- scp - SSH를 통한 안전한 복사이다.
- progress[6][7] - cp, mv, dd의 진행 상황을 표시하는 리눅스 도구이다.
6. 기타
참조
[1]
웹사이트
Cp(1) - Linux manual page
https://www.man7.org[...]
[2]
웹사이트
GNU Coreutils: cp invocation
https://www.gnu.org/[...]
[3]
웹사이트
EFI Shells and Scripting
http://software.inte[...]
Intel
2013-09-25
[4]
간행물
A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986
http://www.cs.dartmo[...]
[5]
웹사이트
Cp(1): Copy files/Directories - Linux man page
https://linux.die.ne[...]
[6]
웹사이트
Progress(1) - Linux man page
https://linux.die.ne[...]
[7]
웹사이트
Progress - Coreutils Progress Viewer
https://github.com/X[...]
2021-11-14
[8]
문서
cp: Copy files and directories
http://www.gnu.org/s[...]
GNU Coreutils
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com