Linux에서 cp를 사용하여 디렉토리를 복사하지만 특정 하위 디렉토리를 무시하는 방법 한 하드 디스크에서

하드 디스크 문제로 인해 파티션을 한 하드 디스크에서 다른 하드 디스크로 옮기려고합니다. http://www.ibm.com/developerworks/library/l-partplan.html 기사를 따르고 있습니다. 복사 부분에서 하나의 특정 하위 디렉토리를 무시하고 싶습니다. 복사 할 때 소유자 그룹과 타임 스탬프를 보존해야한다는 점을 명심하십시오. 특정 하위 디렉토리를 무시하지 않으면 복사해야 할 약 700GB의 데이터가 있습니다.



답변

rsync -ax --exclude [relative path to directory to exclude] /path/from /path/to

사용하고 싶을 수도 --del있습니다. 매뉴얼 페이지를 확인하십시오.


답변

일반적 cpio으로 다음과 같이 사용 합니다.

cd source_dir; find . -depth | cpio -pdmv dest_dir

그리고 이것이 파이프 라인이기 때문에 중간에 “빼기 필터”를 넣을 수 있습니다.

cd sourcedir; find . -depth | grep -v exclude_dir | cpio -pdmv dest_dir

또는 여러 단계로 나눌 수 있습니다.

cd source_dir; find . -depth > files.lst
gedit files.lst  # (take out the offending directory and files and save back to files.lst)
cpio -pdmv dest_dir < files.lst

물론 나는 이것을 작은 것부터 테스트하지만 아이디어를 얻습니다.


답변

루프를 사용하여 간단한 bash 스크립트를 작성하여 복사하지 않으려는 특정 경로를 무시하고 나머지를 복사 할 수 있습니다. 또 다른 해결책은 우리에게 정규 표현식이 될 수 있습니다. bash 스크립팅은 여기-> http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html
Regex tutorial here- > http : //www.regular-expressions 에서 읽을 수 있습니다 . 정보 /


답변

mv큰 하위 디렉토리를 다른 위치로 일시적으로 이동 ( )하고 복사 한 다음 하위 디렉토리를 복원 할 수 있습니까? cp이 작업을 수행 하는 직접적인 옵션을 볼 수 없습니다 .


답변

오히려 못생긴 해결책이지만 … 왜 디렉토리의 모든 것을 비 재귀 적으로 cp 한 다음 개별 디렉토리를 재귀 적으로 복사하지 않습니까?


답변

왜 안돼?

cp -Rv [SRC] [DEST] | grep -v [EXCLUDE]


답변