본문 바로가기
관리/Linux

[Linux] cp 명령어 사용 및 옵션 정리

by 플로어코딩 2017. 8. 5.

명령어 : cp [파일 및 디렉토리 복사]



cp 명령어는 copy의 약자로 아시다시피 복사에 사용되는 명령어이다.


기존에 알아봤던 mc 유틸리티를 이용하여 사용자 편의성을 고려하여 쉽게 복사도 사용할 수 있지만...

그럼에도 불구하고 주위를 보면 cp 명령어 더 친숙하게 다가오는 사람이 더 많은 것 같다.


아무래도 명령어 하나로 한번에 처리할 수 있기 때문이 아닐까 생각한다.



기본 사용법에 대해서 알아보자



1
2
3
4
5
# cp ./file.txt /usr/local/textfile.txt
설명 : 현재 디렉토리에 있는 file.txt 파일을 /usr/local/경로에 textfile.txt 라는 이름으로 복사하겠다.
 
# cp /usr/local/textfile.txt /var/log/log.txt
설명 : /usr/local/textfile.txt 파일을 /var/log/log.txt 파일로 복사하겠다.
cs


위와 같이 간단하게 사용할 수 있다.


위에는 단일 파일에 대하여 사용할 경우의 모습이고 

디렉토리나 그 하위 디렉토리까지 있는 경우에는 옵션을 추가하여 사용해야 한다.(아니면 제대로 복사가 안된다)


그럼 옵션에 대해서 알아보자.


종류가 많으므로 실무에 도움이 될 수 있도록 자주 사용하는 것들만 정리하고

불필요해 보이는 옵션까지는 정리조차 하지 말자...


옵션 

명령어에 대한 설명 

예 

-a

 복사가되면서 파일의 속성까지 복사된다. (읽기속성 등)

cp -a filename1.sh filename2.sh 

-p

 원본 파일의 소유자, 그룹, 권한 등의 정보까지 복사

 

-i

 덮어쓰기할 지 묻는다. 

cp -i 이하동일

-r

 하위 디렉토리 및 파일까지 모두 복사 

cp -R 또는 cp -r 

-v

 현재 복사 진행 작업을 표시 

cp -v  

-u

 최신 파일이면 복사

 

-b

 이미 존재하는 파일이면 백업파일 생성 

 

 

 

 

 

 

 



1
2
3
4
5
6
7
8
9
아래와 같이 cp 명령어를 이용하여 백업처리도 가능하다.
 
# cp -aub -S "`date '+-%Y-%m-%d'`" /usr/local/apache /backup/apache/
 
-u 옵션 : 더 최신파일이면 복사(변경된 파일만 복사)
-b 옵션 : 동일한 파일이 이미 존재하면 백업 파일로 변경시킨다.
-S 날짜 옵션 : 백업파일에 날짜를 삽입한다.
-a 옵션 : 파일의 속성까지 복사
 
cs



마지막으로 cp 명령어를 사용하다보면 하위디렉토리까지 포함하여 몇 백개 이상의 파일을

복사하는 경우가 많이 발생한다.


이럴 때 동일한 파일이 존재할 경우 덮어쓸지 여부를 묻는데...

그 이유는 기본적으로 리눅스에서 alias(앨리어스) 가 설정되어 있어서 그렇다.

=> 모두 그런 것은 아니고 root 사용자만 그렇다...



alias는 별칭이라고도 표현을 하는데..

기본적으로 cp 명령어를 사용하면 cp -i 명령과 동일한 기능을 실행한다.

-i 옵션은 덮어쓸지를 물어보는 옵션이므로 해당 alias를 해제시켜주면 해결된다.


해결 방법은 아래 명령과 같다.


1
# unalias cp
cs



위와 같이 alias가 설정되어있는 경로는 


1
2
3
4
5
6
7
# vi /root/.bashrc
 
또는
 
# cat /root/.bashrc | grep cp
alias cp='cp -i'
 
cs


아래와 같은 내용이 담겨있다.



이상 끝~




댓글