tar.gz 아래의 모든 jar 파일을 원합니다.
2.6.4.0-91/spark2/jars/super-csv-2.2.0.jar
2.6.4.0-91/spark2/jars/univocity-parsers-2.2.1.jar
2.6.4.0-91/spark2/jars/validation-api-1.1.0.Final.jar
2.6.4.0-91/spark2/jars/xbean-asm5-shaded-4.4.jar
2.6.4.0-91/spark2/jars/xercesImpl-2.9.1.jar
2.6.4.0-91/spark2/jars/xmlenc-0.52.jar
2.6.4.0-91/spark2/jars/xz-1.0.jar
2.6.4.0-91/spark2/jars/zookeeper-3.4.6.2.6.4.0-91.jar
그래서 나는 다음을했다
cd /var/tmp
tar -czvf archive.tar.gz /usr/hdp/2.6.4.0-91/spark2/jars
하지만 내가 할 때
tar xvf archive.tar.gz
usr 폴더를 얻습니다
usr
그리고 예상되는 결과는 단지 jars(하위 폴더 없음)여야 합니다.
super-csv-2.2.0.jar
univocity-parsers-2.2.1.jar
validation-api-1.1.0.Final.jar
xbean-asm5-shaded-4.4.jar
xercesImpl-2.9.1.jar
jxmlenc-0.52.jar
xz-1.0.jar
zookeeper-3.4.6.2.6.4.0-91.jar
내 문법에 무슨 문제가 있나요?
cd /var/tmp
tar -czvf archive.tar.gz /usr/hdp/2.6.4.0-91/spark2/jars
답변1
파일 아카이브를 시작하기 전에 -C
tar가 디렉토리에 들어가도록 하는 옵션을 사용하십시오.chdir
tar -czf archive.tar.gz -C /usr/hdp/2.6.4.0-91/spark2/jars .
마지막 매개변수에 점을 잊지 마세요.
매개변수 뒤의 첫 번째 매개변수 f
는 아카이브를 출력할 파일 이름이고, 다음 옵션은 -C
디렉터리 이름을 인수로 사용하며(여기서 tar chdir
는) 점은 아카이브를 시작할 디렉터리입니다.
답변2
tar
명령줄에 전달된 전체 경로를 저장합니다.
디렉토리만 원할 경우 2.6.4.0-91
다음을 cd
입력하십시오 .앞으로전화하세요 tar
.
이 경우에는 다음을 수행해야 한다는 점을 기억하십시오.지정하다이 옵션으로 아카이브를 -C
끝내려는 위치입니다.
예를 들어 귀하가 다음 지역에 있다고 가정해 보겠습니다 /home/user/
.
cd /usr/hdp/
tar -czvf -C /home/user/archive.tar.gz 2.6.4.0-91/spark2/jars/