본문 바로가기
OS/Linux

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

by SAMSUNG CLOUD-OKY 2021. 10. 22.
반응형

 

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

 

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

 

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

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

 

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

 

 

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

 

1
2
3
4
5
# cp https://tistory1.daumcdn.net/tistory/0/MobileWeb/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 옵션 : 파일의 속성까지 복사


Colored by Color Scripter
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

 

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

 

 

 

 

 

 

 

 

출처 : 

[Linux] cp 명령어 사용 및 옵션 정리 (tistory.com)

반응형

댓글