Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

ZIP

Команда ZIP Програма є одночасно інструментом стиснення і архіватором. Формат файлу, який використовує програма, знайомий користувачам Windows, оскільки він читає і записує ZIP. файли. Однак у Linux gzip є переважною програмою стиснення з bzip2 будучи близьким другим.

У своєму найпростішому використанні, ZIP викликається таким чином:

ZIP файл параметрів zip-файлу...

Наприклад, щоб створити zip-архів нашого ігрового майданчика, ми б зробили це:



[me@linuxbox ~]$ zip -r майданчик.zip майданчик

[me@linuxbox ~]$ zip -r майданчик.zip майданчик


Якщо ми не включимо -r варіант для рекурсії, тільки дитячий майданчик каталог (але жоден його вміст) не зберігається. Хоча додавання розширення ZIP. автоматично, для наочності ми включимо розширення файлу.

Під час створення zip-архіву, ZIP зазвичай відображатиме серію таких повідомлень:



додавання: playground/dir-020/file-Z (збережено 0%) додавання: playground/dir-020/file-Y (збережено 0%) додавання: playground/dir-020/file-X (збережено 0%) додавання: playground/dir-087/ (збережено 0%) додавання: playground/dir-087/file-S (збережено 0%)

додавання: playground/dir-020/file-Z (збережено 0%) додавання: playground/dir-020/file-Y (збережено 0%) додавання: playground/dir-020/file-X (збережено 0%) додавання: playground/dir-087/ (збережено 0%) додавання: playground/dir-087/file-S (збережено 0%)


Ці повідомлення показують стан кожного файлу, доданого до архіву. ZIP додасть файли до архіву, використовуючи один із двох методів зберігання: або «зберігає» файл без стиснення, як показано тут, або «здуває» файл, який виконує стиснення. Числове значення, що відображається після способу зберігання, вказує на досягнутий рівень стиснення. Оскільки наш ігровий майданчик містить лише порожні файли, стиснення його вмісту не виконується.

Витяг вмісту zip-файлу є простим при використанні розстебнути блискавку програма:


[me@linuxbox ~]$ компакт-диск foo

[me@linuxbox foo]$ розпакувати ../playground.zip

[me@linuxbox ~]$ компакт-диск foo

[me@linuxbox foo]$ розпакувати ../playground.zip


Зверніть увагу на одну річ ZIP (на відміну від дьоготь) полягає в тому, що якщо вказано існуючий архів, він оновлюється, а не замінюється. Це означає, що наявний архів зберігається, але нові файли додаються, а відповідні файли замінюються.

Файли можна перерахувати та витягнути вибірково з zip-архіву, вказавши їх до

../playground.zip

../playground.zip

Дата

----

Дата

----

Time

----

Time

----

10-05-16 09:25

10-05-16 09:25

розпакувати:



[me@linuxbox ~]$ unzip -l playground.zip playground/dir-087/file-Z

[me@linuxbox ~]$ unzip -l playground.zip playground/dir-087/file-Z


Архів:

довжина

--------

0

--------

0

ІМ'Я

----

дитячий майданчик/реж.-087/спр.-З

-------

1 файл

Архів:

довжина

--------

0

--------

0


[me@linuxbox ~]$ компакт-диск foo

[me@linuxbox foo]$ розпакувати ../playground.zip playground/dir-087/file-Z

Архів: ../playground.zip

замінити дитячий майданчик/dir-087/file-Z? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

видобуток: дитячий майданчик/реж.-087/файл-Z

[me@linuxbox ~]$ компакт-диск foo

[me@linuxbox foo]$ розпакувати ../playground.zip playground/dir-087/file-Z

Архів: ../playground.zip

замінити дитячий майданчик/dir-087/file-Z? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

видобуток: дитячий майданчик/реж.-087/файл-Z


зображення

Використання -l варіант причин розстебнути блискавку щоб просто перерахувати вміст архіву без розпакування файлу. Якщо файли не вказані, розстебнути блискавку відобразить список усіх файлів в архіві. The -v можна додати опцію, щоб збільшити детальність переліку. Зауважте, що коли вилучення архіву конфліктує з наявним файлом, користувачеві буде запропоновано перед заміною файлу.

Люблю дьоготь, ZIP може використовувати стандартні введення та виведення, хоча його реалізація є дещо менш корисною. Можна передати список імен файлів ZIP чЕРЕЗ -@ опції:


[me@linuxbox foo]$ cd

[me@linuxbox ~]$ знайти дитячий майданчик -назва "файл-A" | zip -@ файл-A.zip

[me@linuxbox foo]$ cd

[me@linuxbox ~]$ знайти дитячий майданчик -назва "файл-A" | zip -@ файл-A.zip


Тут ми використовуємо знаходити щоб створити список файлів, що відповідають тесту - назва "файл-A", а потім передайте список ZIP, який створює архів файл-A.zip що містить вибрані файли.

zip також підтримує запис свого виводу до стандартного виводу, але його використання обмежене, оскільки дуже мало програм можуть використовувати вихідні дані. На жаль, програма розпакування не приймає стандартний введення. Це запобігає спільному використанню zip та unzip для


форма копіювання мережевого файлу як дьоготь.

Проте zip може приймати стандартне введення, тому його можна використовувати для стиснення виводу інших програм:



[me@linuxbox ~]$ ls -l /etc/ | zip ls-etc.zip -

додавання: - (дефл. 80%)

[me@linuxbox ~]$ ls -l /etc/ | zip ls-etc.zip -

додавання: - (дефл. 80%)


У цьому прикладі ми передаємо вихід ls в ZIP, Як дьоготь, ZIP інтерпретує кінцеве тире як «використовуйте стандартне введення для вхідного файлу».

Команда розстебнути блискавку програма дозволяє відправити її вихід на стандартний вихід, коли -p (для труби) вказано параметр:



[me@linuxbox ~]$ unzip -p ls-etc.zip | менше

[me@linuxbox ~]$ unzip -p ls-etc.zip | менше


Ми торкнулися деяких основних речей, які ZIP/розстебнути блискавку можна зробити. Вони обидва мають багато опцій, які додають їхню гнучкість, хоча деякі з них є специфічними для інших систем. Довідкові сторінки для обох ZIP та розстебнути блискавку досить гарні та містять корисні приклади. Однак основне використання цих програм - для обміну файлами з системами Windows, а не для стиснення та архівування в Linux, де дьоготь та gzip є дуже бажаними.


Найпопулярніші хмарні обчислення ОС на OnWorks: