tar.gz에서 특정 폴더의 압축을 풉니다.

tar.gz에서 특정 폴더의 압축을 풉니다.

터미널/명령줄 사용 방법(우분투14.04(신뢰할 수 있는 탈))?

정밀한:

-file.tar.gz
 -- folder1
 -- folder2

추출하는 방법..

... folder1 -->  ~/locationX
... folder2 --> ~/locationY

어떻게 해야 하나요?

참고: 이것은 순전히 터미널/명령줄에 관한 것이지,인형. 이것은 단지 예일 뿐입니다. Puppet에서 특정 폴더의 압축을 해제하는 명령이 있는 경우 tar.gz파일 이동을 피할 수 있기 때문에 Puppet에서 약 50단계를 추가로 절약할 수 있습니다.

답변1

나는 이것이 다음과 같아야 한다고 생각합니다.

tar -xzf file.tar.gz -C ~/locationX folder1 -C ~/locationY folder2

-C옵션은 압축을 풀기 전에 지정된 디렉터리로 변경한다는 의미입니다. tar 파일 이름 뒤에 파일 이름 인수를 지정하면 해당 파일이나 디렉터리로만 추출이 제한됩니다. -C이전과 같이 이 행잉 디렉토리를 반복 할 수 있습니다 .

이는 하위 디렉토리에서 추출됩니다. folder1will go in ~/locationX/folder1, folder2will go in ~/locationY/folder2. --strip-components이를 방지하려면 다음 옵션을 사용할 수 있습니다 .

tar -xzf file.tar.gz -C ~/locationX --strip-components=1 folder1 \
                     -C ~/locationY --strip-components=1 folder2

또한 tar 파일의 실제 접두사가 ./folder1and ./folder2이면 tar 파일을 로 생성한 것처럼 filename 매개변수에 해당 접두사를 포함시킨 다음 다음 으로 변경 tar -czf file.tar.gz .해야 합니다../--strip-components=2

관련 정보