tar 명령으로 생성된 새 디렉터리의 이름을 가져옵니다.

tar 명령으로 생성된 새 디렉터리의 이름을 가져옵니다.

tar -xvf명령으로 생성된 새 디렉터리의 이름을 어떻게 알 수 있나요 ?

예를 들어. 내가 명령을 실행할 때

tar -xvf jdk-7u17-linux-x64.tar.gz

이 tar의 내용은 "jdk1.7.0_17"이라는 새 디렉토리에 추출되며 위 명령의 출력이나 스크립트를 사용하여 이 이름을 얻고 싶습니다.

답변1

tar 파일에 하위 디렉터리가 하나만 있거나 하나만 있다는 보장은 없습니다.

tar 아카이브를 추출하는 특수 스크립트가 있습니다. 먼저 임시 디렉토리를 생성하고 해당 디렉토리의 파일을 추출한 다음 해당 디렉토리의 항목 수를 계산하고

  1. 디렉터리/파일이 하나만 있는 경우 임시 디렉터리에서 위로 이동합니다.
  2. 파일/디렉터리가 여러 개인 경우 .tar 파일 이름(확장자 없음)을 기반으로 임시 디렉터리의 이름을 바꿉니다.

유사한 작업을 수행하고 다른 스크립트에서 추가 참조를 위해 이 방식으로 결정된 최신 이름을 테이블에 저장할 수 있습니다.

@jofel이 의견에서 지적했듯이. 내 스크립트의 기능은 다음에서 찾을 수 있습니다.도구유틸리티 세트도 있습니다. 아카이브 추출 유틸리티는 이 작업을 매우 잘 수행합니다.데이터링크

뭔가 빠진 것이 없다면 어떤 (개별) 디렉토리가 생성되었는지 알 수 있는 방법이 없는 것 같습니다.

관련 정보