Linux unzip 명령 : 강제 덮어 쓰기 옵션?


173

ZIP 파일을 기존 파일 계층 구조로 압축 해제하여 일부 파일을 덮어 쓸 수있는 쉘 스크립트를 작성 중입니다.

문제는 unzip 명령이 확인을 요청한다는 것입니다.
replace jsp/extension/add-aspect.jsp? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

압축 해제를 통해 파일을 덮어 쓰는 옵션이 있습니까?

답변:


266

http://www.manpagez.com/man/1/unzip/ 에 따르면 -o옵션을 사용하여 파일을 덮어 쓸 수 있습니다.

unzip -o /path/to/archive.zip

참고 -o대부분처럼 unzip의 옵션 가야 하기 전에 아카이브 이름.


1
예 : unzip -o ZIP_PATH, 수정 자로 작동합니다.
bonzofenix

10
-o옵션은 다른 인수보다 먼저 사용해야합니다. 예 :unzip -o /path/to/archive.zip -d /destination_dir
FelikZ

1
@FelikZ 세부 사항에 대해 감사드립니다. 답을
깎인

Azure 웹 사이트 (Windows)에서는 작동하지 않습니다.
loretoparisi

@loretoparisi 무슨 소리 야? 이것은 리눅스 질문입니다. Expand-Archive 같은 것을 찾고 있습니까?
Franklin Yu

31

새 파일 만 교체하기 위해 압축을 풀어야하는 경우

unzip -f archieve.zip

그러나 나중에 참조 할 수 있도록 입력하면됩니다.

unzip 

이 패키지에 대한 인수 목록이 표시됩니다. 이 경우 가능한 인수는 다음과 같습니다.

-f  freshen existing files, create none
-n  never overwrite existing files         
-q  quiet mode (-qq => quieter)
-o  overwrite files WITHOUT prompting    

자신에게 더 적합하다고 생각되는 것을 사용하십시오.


6
+1, "문맥을 위해 rtfm하는 방법이 있지만 여기 m의 관련 섹션이 있습니다"의 더 미묘하고 친근한 버전이 마음에 듭니다.
Nathan Basanese

1
또한 도움을 보았지만 차이점을 이해하지 못했습니다. 사이 -u update files, create if necessary-f freshen existing files, create none🤷‍♂️?
juanmirocks

파일이 존재하지 않는 경우 // 차이는 행동에
나단 Basanese

@juanmirocks -f를 사용하면 대상에없는 경우에도 최신 파일이 추출되지 않습니다 (예 : 이전 압축 해제되지 않은 파일이있는 최신 버전의 zip이 생성 된 경우). 원하는 것을 아직 모른다면 기회가 없을 것입니다. 반대로 -u는 대상에없는 추가 파일을 추출하여 zip에있는 대상에서 누락 된 것이 없는지 확인합니다.
poikilos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.