EunsooD

파일 복사 할 때 하위 특정 폴더 제외하기 본문

STUDY/Linux

파일 복사 할 때 하위 특정 폴더 제외하기

EunsooD 2018. 5. 31. 15:36
반응형

리눅스에서 파일을 복사 할 때, 특정 폴더나 파일을 제외하고 복사하고 싶은 경우가 있다.

소스를 복사하는데, 로그폴더가 크거나, 캐시폴더가 크거나.. 등등


그럴 때 cp명령어와 ls명령어를 적절히 섞어서 복사하면 된다.


ls /DATA | grep -v cache | grep -v log


위와 같이 ls 명령어를 해보면 /DATA 하위의 cache 와 log 폴더를 제외하고 결과가 나온다.

이를 이용하여 복사 해주면 특정 폴더를 제외하고 복사하게 된다.


cp -R "복사할 폴더" `ls "복사 할 폴더" | grep -v "제외 할 파일" | grep -v "제외 할 파일"..... ` "복사 되는 경로"

ex)  cp -R DATA `ls /DATA | grep -v cache | grep -v log` "/DATA2"



* 내용 추가


위 방법이 잘 안되는 경우가 있는데. (내가 그랫..)

rsync가 있는 리눅스라면 아래와 같이 해주어도 잘 된다.


rsync -avz --exclude={제외할 폴더} --exclude={제외할 폴더} {원본} {복사본}

rsync -avz --exclude=cache --exclude=log /data/web /data/web_ad


반응형
Comments