The zip
utilitas baris perintah tidak pernah menciptakan __MACOSX
direktori, sehingga Anda hanya dapat menjalankan perintah seperti ini:
zip directory.zip -x \*.DS_Store -r directory
Dalam output di bawah ini, a.zip
yang saya buat denganzip
utilitas baris perintah tidak mengandung __MACOSX
direktori, tetapi a 2.zip
yang saya buat dari Finder tidak.
$ touch a
$ xattr -w somekey somevalue a
$ zip a.zip a
adding: a (stored 0%)
$ unzip -l a.zip
Archive: a.zip
Length Date Time Name
-------- ---- ---- ----
0 01-02-16 20:29 a
-------- -------
0 1 file
$ unzip -l a\ 2.zip # I created `a 2.zip` from Finder before this
Archive: a 2.zip
Length Date Time Name
-------- ---- ---- ----
0 01-02-16 20:29 a
0 01-02-16 20:31 __MACOSX/
149 01-02-16 20:29 __MACOSX/._a
-------- -------
149 3 files
-x .DS_Store
tidak mengecualikan .DS_Store
file di dalam direktori tetapi -x \*.DS_Store
tidak.
File tingkat atas dari arsip zip dengan banyak file biasanya harus berupa direktori tunggal, karena jika tidak, beberapa utiliti yang tidak diarsipkan (seperti unzip
dan 7z
, tetapi bukan Archive Utility, The Unarchiver unar
,, ataudtrx
) tidak membuat direktori yang berisi untuk file ketika arsip diekstraksi, yang sering membuat file sulit ditemukan, dan jika banyak arsip seperti itu diekstraksi pada saat yang sama, mungkin sulit untuk mengetahui file mana yang termasuk dalam arsip mana.
Utilitas Arsip hanya menciptakan a __MACOSX
direktori ketika Anda membuat arsip di mana setidaknya satu file berisi metadata seperti atribut yang diperluas, flag file, atau garpu sumber daya. The __MACOSX
direktori berisi file AppleDouble yang nama file dimulai dengan ._
yang digunakan untuk menyimpan metadata OS X spesifik. The zip
utilitas membuang baris perintah metadata seperti atribut diperpanjang, bendera file, dan sumber daya garpu, yang juga berarti bahwa metadata seperti tag hilang, dan bahwa alias berhenti bekerja, karena informasi dalam file alias disimpan dalam sumber daya garpu.
Biasanya Anda hanya bisa membuang metadata spesifik OS X, tetapi untuk melihat apa yang terkandung dalam file metadata, Anda dapat menggunakannya xattr -l
. xattr
juga termasuk garpu sumber daya dan bendera file, karena meskipun sebenarnya tidak disimpan sebagai atribut diperluas, mereka dapat diakses melalui antarmuka atribut diperluas. Utilitas Arsip dan zip
utilitas baris perintah membuang ACL.