
디렉터리 A 자체는 복사하지 않고 디렉터리에서 test/A/
디렉터리로 일부 또는 모든 파일을 복사하고 싶습니다 .test/B/
명령을 시도했지만 cp -R test/A/ test/B
디렉토리와 파일도 복사되어 test/B/A/
...
답변1
을 지정하면 test/A/
Bash에게 디렉터리 자체를 복사하도록 지시합니다.
디렉토리의 내용만 복사하려면 다음을 사용하십시오.글로브*
:
cp -R test/A/* test/B
여기서는 *
점이 앞에 붙은 숨겨진 파일을 제외하고 A의 모든 파일과 일치합니다(예: ) .htaccess
. 이러한 항목도 와 함께 포함하려면 먼저 *
호출하세요 shopt -s dotglob
.
답변2
rsync
로컬이나 원격 으로 동일한 복사본을 얻으려면 cp
. 이를 통해 원하는 경우 소스나 대상에서 무엇을 복사하거나 삭제해야 하는지 훨씬 더 세밀하게 제어할 수 있습니다. 그런데 숨겨진 파일(일명 .*
) 관련 문제도 해결되었습니다. 기본 사용법은 마찬가지로 간단합니다 cp
.
디렉토리 A
와 그 내용을 복사하려면 B
다음을 수행하십시오.
rsync -va test/A test/B
사용할 디렉터리 내용 A
(숨겨진 파일 포함) 을 복사하려면 다음을 수행하세요 B
.
rsync -va test/A/ test/B
B가 존재하지 않으면 생성됩니다.