Come escludere file da un archivio zip
Sommario:
Il modo più semplice per escludere molti file specifici o un gruppo di file corrispondenti da un archivio zip è ignorare l'utility di compressione semplificata incorporata nell'interfaccia utente intuitiva di Mac OS X e passare alla riga di comando, dove il risiede il potente comando zip. Questo è utile per un milione e uno di motivi, ma la motivazione principale per questo post riguarda i file .DS_Store che vengono raggruppati insieme agli archivi zip creati su un Mac, solo per ingombrare un' altra macchina che decomprime il file, sia che si trovi su un altro Mac, PC Windows o Linux.Ciò accade sia con lo strumento zip intuitivo che con l'utilità zip della riga di comando per impostazione predefinita, ed è perché il comportamento predefinito degli strumenti di compressione è quello di includere i file nascosti, indipendentemente dal fatto che vengano visualizzati o meno. Non è necessariamente una cosa negativa e in molti casi sarebbe considerata utile, ma se non vuoi che loro, o qualsiasi altro file per quella materia, appaiano nei tuoi archivi, allora continua a leggere.
Come escludere i file da un archivio zip
Le basi dell'esclusione dei file durante la creazione di un archivio zip sono incentrate sul flag -x, utilizzato per escludere i file dall'archivio che corrispondono a un nome o modello specifico. Nella sua forma più semplice, sarà simile a questo:
"zip archive.zip files -x ExcludeMe"
Significa che puoi escludere un singolo file, diciamo che si chiama "Nothanks.jpg"
"archivio zip.zip immagini/ -x Notthanks.jpg"
Facciamo alcuni esempi specifici in cui è utile.
Escludi i file .DS_Store dagli archivi zip
Questo impedirà ai file .DS_Store di metadati Mac tipicamente invisibili di essere inclusi in un archivio zip, che sono raggruppati per impostazione predefinita:
"zip -r nomearchivio.zip directoryarchivio -x .DS_Store"
Se la directory include sottodirectory, tuttavia, ti consigliamo di utilizzare un' altra variante di quel comando per escludere anche i file ds_store dalle sottodirectory:
"zip -r directory archivio.zip -x /\.DS_Store"
Nota: non tutte le shell richiedono le virgolette per il corretto funzionamento di questo comando, ma nella shell bash (l'impostazione predefinita per Mac OS X) sarà necessario utilizzare le virgolette per escludere con caratteri jolly e modelli.
Escludi tipi di file specifici da un archivio zip
Con i caratteri jolly, puoi anche escludere tutti i file di un certo tipo concentrandoti sull'estensione. Ad esempio, questo comando comprimerà un'intera directory, meno eventuali file .jpg:
"zip -r directory archivio.zip -x .jpg"
Potrebbe essere modificato per qualsiasi estensione di file specifica o modello corrispondente a un nome di file.
Escludi la directory .git o .svn da un archivio zip
"Comprimi una directory, meno .git e il suo contenuto: zip -r zipdir.zip directorytozip -x .git "
Zip di una cartella, senza includere la directory .svn: zip -r zipped.zip directory -x .svn "
Escludi tutti i file nascosti da un archivio zip
Poiché è possibile utilizzare modelli e caratteri jolly, è anche possibile escludere alcuni o tutti i file e le cartelle invisibili che sono resi tali da essere preceduti da un punto, sia che si tratti di una directory come .svn o di un singolo file come .bash_profile o .htaccess.
zip -r nomearchivio.zip directorytozip -x ."
O per escludere tutti i file invisibili da tutte le sottodirectory:
"zip -r directory archivio.zip -x /\."
Grazie a un commentatore sui forum di Macworld per la precisa sintassi sull'esclusione di quei file anche dalle sottodirectory.
In definitiva, questo è solo un altro motivo per cui gli utenti esperti devono passare al Terminale per creare archivi. Con potenti funzionalità come il supporto dei caratteri jolly, l'esclusione e la protezione opzionale tramite password delle zip, è solo più completo e poiché è comunque tutto incluso sul Mac, non avrai bisogno di scaricare un' altra app per supportare le funzionalità avanzate.
E sì, tecnicamente se eri determinato a rimanere nell'interfaccia utente potresti usare gli operatori di ricerca Finder e Spotlight per restringere il contenuto di una cartella in Mac OS X prima di creare un archivio, o semplicemente Seleziona tutto e manualmente Comando + clic su ogni file per non includerlo, ma in re altà non è efficiente per operazioni di archiviazione di grandi dimensioni.Pertanto, il terminale vince per facilità e, nonostante sia incentrato sulla riga di comando, non è davvero complicato una volta apprese le basi.