5개의 PDF와 추가 ZIP 파일(현재 작업 폴더 위의 폴더에 있음)이 포함된 ZIP 아카이브를 만들려고 합니다. 이것은 효과가 있는 것처럼 보이지만 어느 정도까지만 가능합니다.
예를 들어:
$ ls -lh
total 5.0M
-rw-r--r-- 1 root root 227K Apr 8 18:53 activity.pdf
-rw-r--r-- 1 root root 2.2M Apr 8 18:53 activity1.pdf
-rw-r--r-- 1 root root 279K Apr 8 18:53 activity2.pdf
-rw-r--r-- 1 root root 761K Apr 8 18:53 activity3.pdf
-rw-r--r-- 1 root root 1.6M Apr 8 18:53 activity4.pdf
$ ls -lh ..
total 11M
-rw-r--r-- 1 root root 11M Apr 5 12:16 Another_Archive.zip
5개의 PDF 파일 압축그리고이전 폴더에 있는 ZIP의 경우 다음을 수행합니다.
$ zip Final_Archive.zip *.pdf ../Another_Archive.zip
adding: activity.pdf (deflated 12%)
adding: activity1.pdf (deflated 10%)
adding: activity2.pdf (deflated 11%)
adding: activity3.pdf (deflated 9%)
adding: activity4.pdf (deflated 11%)
adding: ../Another_Archive.zip (stored 0%)
이제 unzip
CLI에서 실행할 때마다 모든 것이 올바르게 표시됩니다.
$ unzip Final_Archive.zip
Archive: Final_Archive.zip
inflating: activity.pdf
inflating: activity1.pdf
inflating: activity2.pdf
inflating: activity3.pdf
inflating: activity4.pdf
warning: skipped "../" path component(s) in ../Another_Archive.zip
extracting: Another_Archive.zip
$ ls -lh
total 31M
-rw-r--r-- 1 root root 11M Apr 5 12:16 Another_Archive.zip
-rw-r--r-- 1 root root 15M Apr 8 19:02 Final_Archive.zip
-rw-r--r-- 1 root root 227K Apr 8 18:53 activity.pdf
-rw-r--r-- 1 root root 2.2M Apr 8 18:53 activity1.pdf
-rw-r--r-- 1 root root 279K Apr 8 18:53 activity2.pdf
-rw-r--r-- 1 root root 761K Apr 8 18:53 activity3.pdf
-rw-r--r-- 1 root root 1.6M Apr 8 18:53 activity4.pdf
그러나 Mac OS에서 파일의 압축을 풀면(zip 파일을 두 번 클릭하면) 모든 내용이 추출됩니다.하지만문서 Another_Archive.zip
. 아래를 참조하세요:
MacOS CLI에서 압축을 풀면 제대로 작동합니다. 이는 MacOS의 보관 취소 프로세스와 관련된 문제 때문입니까, 아니면 zip 파일이 생성되는 방식에 문제가 있습니까?
답변1
Finder가 작업 중인 폴더에서 상위 폴더로 파일을 추출하는 것을 거부하는 것 같습니다. 이는 사용자 기대에 부응하지 않고 위험할 수 있기 때문입니다(안전하다고 생각한 파일이 손상됨).
따라서 zip 파일에 상위 폴더의 경로를 포함하지 마십시오.
PDF와 동일한 폴더에 zip에 대한 심볼릭 링크를 만들 수 있습니다.
ln -s ../Another_Archive.zip .
zip Final_Archive.zip *.pdf Another_Archive.zip
또는 PDF를 zip으로 패키지하고 여기에 아카이브를 추가할 수 있습니다.
zip Final_Archive.zip *.pdf
cd ..
zip directory/Final_Archive.zip Another_Archive.zip
또는 옵션("가비지(기록하지 않음) 디렉터리 이름")이 zip
있는 경우 -j
디렉터리 경로 없이 파일을 저장하게 됩니다.
zip -j Final_Archive.zip *.pdf ../Another_Archive.zip