<Precedenti | Contenuti | Succ.>
chiusura
. chiusura Il programma è sia uno strumento di compressione che un archiviatore. Il formato di file utilizzato dal programma è familiare agli utenti Windows, poiché legge e scrive file .zip file. In Linux, tuttavia, gzip è il programma di compressione predominante con bzip2 essendo un secondo vicino.
Nel suo utilizzo più basilare, chiusura viene invocato così:
chiusura opzioni file zipfile...
Ad esempio, per creare un archivio zip del nostro parco giochi, faremmo così:
[io@linuxbox~]$ zip -r playground.zip playground
[io@linuxbox~]$ zip -r playground.zip playground
A meno che non includiamo il -r opzione per la ricorsione, solo la parco giochi directory (ma nessuno dei suoi contenuti) viene memorizzato. Sebbene l'aggiunta dell'estensione file .zip è automatico, per chiarezza includeremo l'estensione del file.
Durante la creazione dell'archivio zip, chiusura normalmente visualizzerà una serie di messaggi come questo:
aggiunta: playground/dir-020/file-Z (memorizzato 0%) aggiunta: playground/dir-020/file-Y (memorizzato 0%) aggiunta: playground/dir-020/file-X (memorizzato 0%) aggiunta: playground/dir-087/ (memorizzato 0%) aggiunta: playground/dir-087/file-S (memorizzato 0%)
aggiunta: playground/dir-020/file-Z (memorizzato 0%) aggiunta: playground/dir-020/file-Y (memorizzato 0%) aggiunta: playground/dir-020/file-X (memorizzato 0%) aggiunta: playground/dir-087/ (memorizzato 0%) aggiunta: playground/dir-087/file-S (memorizzato 0%)
Questi messaggi mostrano lo stato di ciascun file aggiunto all'archivio. chiusura aggiungerà file all'archivio utilizzando uno dei due metodi di archiviazione: o "memorizzerà" un file senza compressione, come mostrato qui, oppure "decomprimerà" il file che esegue la compressione. Il valore numerico visualizzato dopo il metodo di archiviazione indica la quantità di compressione ottenuta. Poiché il nostro playground contiene solo file vuoti, non viene eseguita alcuna compressione sul suo contenuto.
L'estrazione del contenuto di un file zip è semplice quando si utilizza decomprimere programma:
[io@linuxbox~]$ cd pippo
[me@linuxbox pippo]$ decomprimi ../playground.zip
[io@linuxbox~]$ cd pippo
[me@linuxbox pippo]$ decomprimi ../playground.zip
Una cosa da notare chiusura (al contrario di tar) è che se viene specificato un archivio esistente, questo viene aggiornato anziché sostituito. Ciò significa che l'archivio esistente viene preservato, ma vengono aggiunti nuovi file e i file corrispondenti vengono sostituiti.
I file possono essere elencati ed estratti selettivamente da un archivio zip specificandoli come
../parco giochi.zip
../parco giochi.zip
Data
----
Data
----
Ora
----
Ora
----
10-05-16 09:25
10-05-16 09:25
decomprimi:
[io@linuxbox~]$ unzip -l playground.zip playground/dir-087/file-Z
[io@linuxbox~]$ unzip -l playground.zip playground/dir-087/file-Z
Archivio:
Lunghezza
--------
0
--------
0
Nome
----
playground/dir-087/file-Z
-------
File 1
Archivio:
Lunghezza
--------
0
--------
0
[io@linuxbox~]$ cd pippo
[me@linuxbox pippo]$ decomprimi ../playground.zip playground/dir-087/file-Z
Archivio: ../playground.zip
sostituire playground/dir-087/file-Z? [s]i, [n]o, [T]utti, [N]uno, [r]onomina: y
estrazione: playground/dir-087/file-Z
[io@linuxbox~]$ cd pippo
[me@linuxbox pippo]$ decomprimi ../playground.zip playground/dir-087/file-Z
Archivio: ../playground.zip
sostituire playground/dir-087/file-Z? [s]i, [n]o, [T]utti, [N]uno, [r]onomina: y
estrazione: playground/dir-087/file-Z
Usando il -l cause di opzione decomprimere per elencare semplicemente il contenuto dell'archivio senza estrarre il file. Se non viene specificato alcun file, decomprimere elencherà tutti i file nell'archivio. Il -v È possibile aggiungere un'opzione per aumentare la verbosità dell'elenco. Si noti che quando l'estrazione dell'archivio entra in conflitto con un file esistente, l'utente riceve un avviso prima di sostituire il file.
Come tar, chiusura può utilizzare l'input e l'output standard, sebbene la sua implementazione sia un po' meno utile. È possibile inviare un elenco di nomi di file a chiusura tramite -@ opzione:
[me@linuxbox pippo]$ cd
[io@linuxbox~]$ trova playground -nome "file-A" | zip -@ file-A.zip
[me@linuxbox pippo]$ cd
[io@linuxbox~]$ trova playground -nome "file-A" | zip -@ file-A.zip
Qui usiamo Find per generare un elenco di file corrispondenti al test -nome "file-A", e quindi incanalare l'elenco in chiusura, che crea l'archivio file-A.zip contenente i file selezionati.
Anche zip supporta la scrittura del suo output sullo standard output, ma il suo utilizzo è limitato perché pochissimi programmi possono utilizzarlo. Sfortunatamente, il programma unzip non accetta lo standard input. Questo impedisce che zip e unzip possano essere utilizzati insieme per...
copia di file di rete come tar.
zip può, tuttavia, accettare input standard, quindi può essere utilizzato per comprimere l'output di altri programmi:
[io@linuxbox~]$ ls -l /etc/ | zip ls-etc.zip -
aggiungendo: - (sgonfiato 80%)
[io@linuxbox~]$ ls -l /etc/ | zip ls-etc.zip -
aggiungendo: - (sgonfiato 80%)
In questo esempio inoltriamo l'output di ls ai miglioramenti chiusura. Come tar, chiusura interpreta il trattino finale come "usa input standard per il file di input".
. decomprimere il programma consente di inviare il suo output allo standard output quando -p (per pipe) è specificata l'opzione:
[io@linuxbox~]$ unzip -p ls-etc.zip | meno
[io@linuxbox~]$ unzip -p ls-etc.zip | meno
Abbiamo toccato alcuni degli aspetti fondamentali che chiusura/decomprimere possono fare. Entrambi hanno molte opzioni che aumentano la loro flessibilità, anche se alcune sono specifiche della piattaforma per altri sistemi. Le pagine man di entrambi chiusura e decomprimere sono piuttosto buoni e contengono esempi utili. Tuttavia, l'uso principale di questi programmi è lo scambio di file con i sistemi Windows, piuttosto che eseguire la compressione e l'archiviazione su Linux, dove tar e gzip sono di gran lunga preferiti.