![Tar는 파일을 생성하고 하위 디렉터리로 분할합니다.](https://linux55.com/image/46939/Tar%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%98%EA%B3%A0%20%ED%95%98%EC%9C%84%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A1%9C%20%EB%B6%84%ED%95%A0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 다음 명령을 가지고 있습니다 :
tar -cf - input/* | split --bytes=1m
이것은 내 거대한 gz 파일을 작은 파일로 분할합니다. 이것은 훌륭하게 작동합니다.
하지만 출력(작은 파일)을 디렉토리에 생성하고 싶습니다 input/
. 달성하는 방법?
답변1
서브셸로 파이프하여 cd
호출할 수 있습니다.
tar -cf - input/* | ( cd input; split --bytes=1m )
tar
다음 번에는 작은 파일 도 아카이브의 일부가 되므로 두 번 호출하지 않도록 주의하세요 . 일반적으로 아카이브를 원래 디렉터리에 다시 넣는 것은 좋은 생각이 아닙니다.
또한 귀하의 tar
명령은 현재 압축되지 않고 있으며 파일을 모아서 동일한 크기의 청크로 다시 분할하고 있습니다.