2013-03-13 2 views
3

나는 bash 스크립트에서 zip 프로그램을 사용하고 있으며 아카이브에 폴더 자체를 추가하지 않고 폴더의 모든 파일을 포함하는 아카이브를 만들고 싶습니다.중간 폴더가없는 zip 아카이브에 파일을 추가하는 방법

나는 그런 파일이 있습니다

script.sh 
files/ 
files/1 
files/2 

내가 script.sh

zip -q -9 -r arch.zip files/* 

에서이 명령을 사용하고 있지만,이 아카이브에 files 폴더를 생성하고 난 파일 1을 좀하고 싶습니다를 아카이브의 루트에 직접 2이 있습니다.

zip 명령에 전달 된 매개 변수를 수정하여 files을이 아카이브에 추가하지 못하게하려면 어떻게해야합니까?

감사

고정 :

Here과 분명히 Here

, SO 엔진이 문제가 이전보다 게시 할 때 더 효율적입니다 검색 ...

+1

문제가 게시되면, 당신은 이미 어떤 요구 사항이 정확히 후 기계를 요구하고있다 (검색 엔진)에 반영했다 곧장 앞으로 나아 간다. –

답변

3
cd files 
zip -q -9 -r ../arch.zip * 
+0

당신의 말은 다음과 같습니다 : 폴더는 현재 경로에 상대적으로 생성됩니까? – luckydonald

+0

@luckydonald 정확 하 게. –

3

사용한다 -j 키. 이 방법으로 시도 :

우편을 -q -9 -j arch.zip 파일/*

+1

'-j'는 모든 파일을 Zip 루트에 복사합니다. 하위 폴더를 원하면이 방법은 작동하지 않습니다. – luckydonald

관련 문제