zip 파일이 포함된 폴더를 압축합니다(CLI를 통해 압축을 풀지 않으면 MacOS에 표시되지 않음).

zip 파일이 포함된 폴더를 압축합니다(CLI를 통해 압축을 풀지 않으면 MacOS에 표시되지 않음).

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%)

이제 unzipCLI에서 실행할 때마다 모든 것이 올바르게 표시됩니다.

$ 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

관련 정보