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