tar.gz 파일에서 디렉토리 경로를 생성하지 않고 파일만 추출하려면 어떻게 해야 합니까?

tar.gz 파일에서 디렉토리 경로를 생성하지 않고 파일만 추출하려면 어떻게 해야 합니까?

tar.gz전체 구조를 생성하지 않고 현재 디렉터리에서 파일을 추출해야 하는 파일이 있습니다 .

예를 들어:

tar.gz다음 파일이 포함되어 있습니다.

/u01/app/oracle/file1
..
..
/u01/app/oracle/file10
/u01/testdata/file1
..
..
/u01/testdata/file5

tar.gz에 존재하므로 추출할 때 을 거치 /u02려고 하면 아래에 전체 디렉토리 구조가 생성됩니다.file1file10/u02/u02

답변1

고정된 수의 경로 구성 요소가 있는 것 같으므로 다음을 통과하십시오.--스트립 구성요소=3tar압축해제 /u01/app/oracle시 삭제/u02

구성 요소 수가 가변적인 경우 --transform대신 이 플래그를 사용하십시오. 비슷한 것--transform='s,^\([^/][^/]*/\)\+,,'

답변2

표준 pax명령을 사용하십시오.

gunzip < file.tar.gz | pax -r's|.*/||p'

관련 정보