티스토리 뷰
반응형
- 리눅스에서 현재 디렉토리의 하위 디렉토리까지를 모두 검색하며 특정 조건에 맞는 파일을 복사하는 법을 알아보겠습니다.
- 먼저 생각할 수 있는 방법은 cp 명령어의 --recursive 옵션을 떠올릴 수 있습니다.
$ cp --h
...
-R, -r, --recursive copy directories recursively
...
$ cp -r /src_dir/*.log /dest_dir
- 위의 옵션을 사용하면 /src_dir 아래의 모든 디렉토리를 재귀적으로(recursively) 탐색하며 확장자가 log인 파일을 /dest_dir 로 복사(copy)합니다.
- 하지만 위의 방법은 /src_dir 디렉토리의 하위 디렉토리 구조까지 모두 복사하지 않고 조건에 맞는 모든 파일을 /dest_dir로 복사합니다.
- 그렇다면 src_dir의 하위 디렉토리 구조까지 /dest_dir로 복사하기 위해서는 어떤 방법이 있을까요??
- 다음과 같이 find와 cpio(copy in and out)의 조합을 이용하여 하위 디렉토리 구조까지 복사를 할 수 있습니다.
$ cpio --h
...
-p, --pass-through Run in copy-pass mode
-d, --make-directories Create leading directories where needed
-m, --preserve-modification-time
Retain previous file modification times when
creating files
...
$ find /src_dir -name "*.log" | cpio -pdm /dest_dir
참고 : cpio 설명
반응형
'workspace > Linux' 카테고리의 다른 글
리눅스 시간 동기화 - rdate (0) | 2016.03.05 |
---|---|
Linux 하위 디렉토리까지 파일 확장자 변경 (1) | 2014.06.09 |
ubuntu에서 usb mount / umount 하기. (0) | 2014.06.03 |
댓글