Tar는 파일을 생성하고 하위 디렉터리로 분할합니다.

Tar는 파일을 생성하고 하위 디렉터리로 분할합니다.

나는 다음 명령을 가지고 있습니다 :

tar -cf - input/* | split --bytes=1m 

이것은 내 거대한 gz 파일을 작은 파일로 분할합니다. 이것은 훌륭하게 작동합니다.

하지만 출력(작은 파일)을 디렉토리에 생성하고 싶습니다 input/. 달성하는 방법?

답변1

서브셸로 파이프하여 cd호출할 수 있습니다.

tar -cf - input/* | ( cd input; split --bytes=1m )

tar다음 번에는 작은 파일 도 아카이브의 일부가 되므로 두 번 호출하지 않도록 주의하세요 . 일반적으로 아카이브를 원래 디렉터리에 다시 넣는 것은 좋은 생각이 아닙니다.

또한 귀하의 tar명령은 현재 압축되지 않고 있으며 파일을 모아서 동일한 크기의 청크로 다시 분할하고 있습니다.

관련 정보