압축이 풀린 파일을 기존의 압축 된 폴더 say에 추가하려고합니다 new folder.zip
. zip -r new folder.zip
압축이 풀린 파일을 파일에 추가 한 후 사용할 수 있습니까? 이 명령은 폴더를 압축합니까? 이를위한 대안이 있습니까?
답변
업데이트 플래그를 사용하십시오. -u
예:
zip -ur existing.zip myFolder
이 명령은 압축하고에 myFolder
내용을 추가 합니다 existing.zip
.
고급 사용법 :
업데이트 플래그는 실제로 들어오는 파일을 기존 파일과 비교하여 새 파일을 추가하거나 기존 파일을 업데이트합니다.
따라서 zip 파일 내에서 특정 서브 디렉토리를 추가 / 업데이트하려면 원하는대로 소스를 업데이트 한 다음 -u
플래그를 사용 하여 전체 소스를 다시 압축하십시오 . 변경된 파일 만 압축됩니다.
소스 파일에 액세스 할 수 없으면 zip 파일의 압축을 풀고 원하는 파일을 업데이트 한 다음 -u
플래그를 사용하여 다시 압축 할 수 있습니다 . 다시, 변경된 파일 만 압축됩니다.
예:
원본 소스 구조
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
업데이트 된 소스 구조
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
│ │ ├── logs4.txt <-- NEW FILE
용법
$ zip -ur existing.zip ParentDir
> updating: ParentDir/ChildDir/Logs (stored 0%)
> adding: ParentDir/ChildDir/Logs/logs4.txt (stored 96%)
답변
이 명령을 사용하여 파일을 추가 할 수 있다고 생각합니다.
zip -r zipfile.zip newfile.txt newfile1.txt
-r
압축 명령의 옵션은 파일을 추가로 할 수 있습니다.
답변
-u 플래그는 파일에 작동합니다.
zip -ur zip_to_upload.zip file_to_add.txt
문안 인사
답변
나는 zip
명령 으로 성공했다 . 와 함께 성장한다 (-g) 옵션을 순서대로 하위 폴더 추가 folder1/folder2
파일 포함 fileA.txt
및 fileB.txt
:
zip -gr folder.zip folder1/folder2
-r
재귀 디렉터리를 의미합니다 .
내 이해에서 -g는 새로운 zip 파일을 만들지 않고 zip 파일을 증가시켜야합니다 (매우 큰 zip 아카이브에 유용 할 수 있음). 문제가 발생하면 먼저 다음을 사용하여 folder.zip에 하위 폴더를 만드십시오.
zip -g folder.zip folder1
zip -g folder.zip folder2
답변
zip 아카이브와 동일한 위치에 많은 파일이 있고 모든 파일을 아카이브에 복사하려는 경우 다음을 수행 할 수 있습니다.
zip -ur zipfile.zip !(zipfile.zip)
이것은 zip 파일을 업데이트합니다 ( -u
-r
zip 파일 자체를 제외한 모든 옵션)을 재귀 적으로!
의 부정입니다)
그런 다음 위의 동일한 규칙에 따라 zip 파일을 제외한 모든 파일을 간단히 삭제할 수 있습니다.
rm !(zipfile.zip)