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

関連情報