디렉터리를 다른 서버에 복사하고 싶지만 해당 디렉터리의 파일을 복사할 필요는 없습니다. 그래서 빈 디렉토리의 tar가 제가 찾고 있는 디렉토리입니다.
답변1
필요한 명령은 다음과 같습니다.
find . -type d -print0 | tar cf folderstructure.tar --null --files-from - --no-recursion
folderstructure.tar
폴더 구조로 파일을 생성 하지만 파일은 생성하지 않습니다.
답변2
cpio
이 용도 가 아닌 을 사용하세요 tar
. 먼저 복사하려는 최상위 디렉터리로 cd합니다.
find . -type d -print0 | cpio -o -0 >/tmp/archive.cpio
그런 다음 /tmp/archive.cpio를 원격 호스트에 복사합니다. 한 단계로 수행할 수 있습니다.
find . -type d -print0 | cpio -o -0 | ssh user@remotehost "cd targetdir; cpio -i"
그런데 -print0
및 옵션은 파일 이름에 인쇄할 수 없는 문자(예: 개행 문자)가 포함된 경우 유용/필수입니다.-0