※ 요약

리눅스 명령어 cp는 copy의 약어로써 파일이나 디렉토리를 복사할 때 사용하는 명령어이다.

cp는 복사할때 같은 이름의 대상 파일이 있는 경우 사용자에게 묻지 않고 덮어씌워버리는데, 이 같은 실수를 방지하고자 Alias 설정을 "cp='cp -i'"로 해두고 있다.


※ 경로

/bin/cp

※ 사용법

사용법을 보니 어려워 보이지만, 막상 사용하면 정말 쉽다. 밑에 사용예에서 좀 더 설명하겠다.

참고로 []안에 있는 값은 생략 가능하다는 의미이며 ...의 의미는 가변적이라는 뜻이다.

고로 [옵션]...은 옵션을 생략할 수도 있고 옵션이 한 개 혹은 여러개 올 수 있다는 의미이다.

cp [옵션]... [-T] 원본 대상

cp [옵션]... 원본... 디렉토리

cp [옵션]... -t 디렉토리 원본...



※ 옵션

 옵션

 Long 옵션

 설명

 -a

 --archive

 -dR --preserve=all 옵션과 같음

 -b

 --backup

 복사 대상 파일이 이미 존재할 경우를 대비하여 백업 파일을 만듦

 -d

 --no-dereference

 원본 파일이 소프트링크 파일이면 소프트링크 원본을 삭제

 -f

 --force

 복사 대상이 이미 존재하면 복사 대상 파일을 강제로 지우고 복사

 -i

 --interactive

 복사 대상이 이미 존재하면 사용자에게 덮어씌울건지 여부를 확인

 -l

 --link

 심볼릭 링크 형식으로 복사

 -P

 --parents

 원본 파일명에 디렉토리 경로도 같이 입력했다면 그 경로 그대로 복사

 -p

 --preserve

 원본 파일의 소유주, 그룹, 권한, 시간 정보들을 그대로 보존하여 복사

 -s

 --symbolic-link

 디렉터리가 아닌 일반 파일을 심볼릭 링크 형식으로 복사

 -u

 --update

 변경일이 같거나 더 최신의 복사 대상 파일이 있으면 복사 안 함

 -v

 --verbose

 복사 상태를 자세하게 출력

 -x

 --one-file-system

 원본 파일과 대상 파일의 파일시스템이 서로 다를 경우, 복사 안 함

 -R, -r

 --recursive

 디렉토리를 복사할 경우 하위 디렉토리와 파일을 모두 복사

 

 --help

 cp의 사용법을 출력

 

 --version

 cp의 버전을 출력

 

※ 사용예

이번에는 캡쳐 없이 글로만 설명하도록 하겠다.

띄어쓰기 잘 안 보여서 2칸씩 띄웠으니 참고바람.

 

cp  -f  file1  file2

: file1을 file2로 복사한다. file2가 이미 존재한다면 file1의 내용을 그대로 덮어씌우고 복사한다. file2가 없다면 새로 생성된다.

 

cp  -i  file1  file2

: 위와 같이 복사가 이뤄지지만 만약 file2 파일이 있다면 사용자에게 덮어씌울건지 물어본 뒤 작업을 진행하거나 취소한다.

 

cp  file1  file2  file3  dir

: file1과 file2, file3을 dir이라는 디렉토리로 복사한다. 단, dir1은 존재하고 있어야 한다.

 

cp  dir1/*  dir2

: 와일드 카드와 함께 사용해서 dir1 디렉토리에 있는 모든 파일을 dir2 디렉토리로 복사한다. 단, dir2는 존재하고 있어야 한다.

 

cp  -r  dir1  dir2

: dir1 디렉토리와 그 안에 있는 모든 내용(파일 및 디렉토리)을 dir2로 복사한다. dir2가 없다면 새로 만든다.

 

 

+ Recent posts