Zip
壓縮但不掃描排除的文件夾
我正在製作一個目錄的壓縮包。
我使用此命令排除某個文件夾
zip -r myzip.zip /home/test -x share/\*
當我使用此命令時,它仍會掃描該文件夾。它有許多子文件夾,所以即使我排除了它,我也不希望它浪費時間掃描所有內容。它還會引發很多 zip 警告:名稱不匹配,因為它有許多符號連結。
有沒有一種方法可以在不掃描所有內容的情況下進行壓縮?
從手冊頁:
-y
--symlinks
對於 UNIX 和 VMS(V8.3 及更高版本),將符號連結儲存在 zip 存檔中,而不是壓縮和儲存連結引用的文件。這可以避免在存檔中包含多個文件副本,因為 zip 遞歸目錄樹並直接通過連結訪問文件。
您需要包含要排除的目錄的完整路徑。如果它在內部
/home/test
:zip -r myzip.zip /home/test -x /home/test/share/\*
如果在其他地方:
zip -r myzip.zip /home/test -x /home/test/path/to/share/\*