Как создать и извлечь zip-архивы из командной строки?
command-line
zip
Иоахим
источник
источник
Ответы:
Обычно используется
tar
для создания несжатого архива и /gzip
илиbzip2
для сжатия этого архива. Соответствующееgunzip
иbunzip2
команды могут быть использованы для распаковывать указанный архив, или вы можете просто использовать флаги наtar
командах для выполнения распаковки.Если вы имеете в виду конкретно к формату Zip файлов , вы можете просто использовать
zip
иunzip
команды.Сжать:
или заархивировать каталог
Чтобы распаковать:
это распакует его в ваш текущий рабочий каталог.
источник
zip -r9 archive.zip files...
синтаксис (-r = рекурсивный -9 = максимальное сжатие).zip
можно создавать множество разных разновидностей архивов .ZIP, а также использовать много разных компрессоров. С другой стороны, существует ряд других инструментов сжатия, названных аналогично: 7-Zip, gzip, bzip2, rzip и т. Д., Которые не являются взаимозаменяемыми.cd dir1; zip -r ../squash.zip *
unzip -d myfolder squash.zip
для извлечения в отдельный новый каталог (myfolder
) вместо того, чтобы помещать все файлы непосредственно в текущий каталог, что может раздражать, если файл zip содержит много файлов и каталогов на верхнем уровне. Это имитирует работу большинства инструментов для распаковки пользовательского интерфейса.Существует действительно огромное количество различных способов сжатия и распаковки в производных UNIX, поэтому я собираюсь предположить, что вы имели в виду «zip» в общем смысле, а не в конкретном формате файла.
Вы можете архивировать файлы (в сжатом формате) с помощью
tar
программы GNU :который будет делать текущий каталог. Замените
.
другими именами файлов, если вы хотите что-то еще.Чтобы распаковать этот файл, используйте:
Это, конечно, предполагает, что у вас есть
tar
возможность выполнять сжатие, а также объединять файлы в один.Если нет, вы можете просто использовать с
tar cvf
последующимgzip
(снова, если доступно) для сжатия иgunzip
затемtar xvf
.Для конкретной обработки файлов формата ZIP, я бы порекомендовал скачать
7zip
и использовать это - он распознает огромное разнообразие форматов файлов, включая ZIP.источник
tar jcvf file.tar.bz2...
для сжатия в формате bzip2 илиtar Jcvf file.tar.xz ...
для сжатия xz.Если у вас не установлены пакеты zip и unzip и у вас есть java, вы можете использовать
jar
для распаковки:источник
Ну, когда дело доходит до распространения файлов для различных операционных систем, я бы рекомендовал 7-zip .
Обычно в пакете
p7zip
вы получаете команду7z
and7za
, с помощью которой вы можете создавать свои собственные архивы 7z.7za
также может распаковывать стандартные ( pkzip ) zip-архивы (и создавать их также с помощью-tzip
переключателя).Сжимая:
Распаковка:
Он также может создавать самораспаковывающиеся архивы с помощью
-sfx
переключателя:Я рекомендую этот метод, если пользователи Windows не могут открыть архивы 7z (если вы хотите посоветовать инструмент для этого: PeaZip ).
Если вы хотите использовать тот же алгоритм сжатия с вашими архивами, используйте
-J
переключатель сtar
:xz
инструмент UNIX, который использует LZMA2 для сжатия, но работает такgz
, какbz2
работает Это даже работает как фильтр.7z не создает архивы с полной информацией о файловой системе в UNIX, поэтому вам нужно использовать ее
tar
перед использованием 7z (но, поскольку 7z хранит другую информацию оtar
файле, я рекомендую использоватьxz
, так как он предназначен для него):источник
atool
, это хороший маленький инструмент, который делает использование различных компрессоров более удобным. Привязать это кa
и создать архив становитсяa arc.7z folder/
или извлекать простоеa arc.7z
а также
Вам необходимо убедиться, что эти команды установлены через менеджер пакетов. Это не сложнее, чем использовать что-либо еще в командной строке. Это, конечно, проще, чем создавать архивы с помощью tar.
источник
BSD Tar также может сделать это
Или же:
источник
tar
Преимущество BSD заключается в поддержке множества дополнительных форматов сжатия по сравнению с GNUtar
и другими форматамиtar
. Возможно, наибольшее преимущество заключается в том, что это происходит при использованииtar
-подобного синтаксиса . Вы можете , конечно , использовать7z
,unrar
,unzip
и т.д. из командной строки, но они используют различный синтаксис.Самый стандартный ответ
pax
, который рекомендуетсяcpio
иtar
.В отличие от
cpio
POSIXtar
, но, как и GNUtar
,pax
он умеет архивировать файлы и сжимать архив. Это поведение отличается от тогоzip
, который сжимает каждый файл перед тем, как поместить его в архив.источник
pax
Поддерживает ли zip архивы?pax
архивы!Это касается только добычи.
Для этого я начал использовать
dtrx
.Весь смысл в том, чтобы устранить сложность. Таким образом, вы просто передаете в него любой архив, и он выясняет, что с ним делать. Zip, tar, gz ... Использование всегда одинаково -
dtrx archive.zip
. Он задает несколько вопросов, и все готово.dtrx
доступно в большинстве репозиториев, так что вы можетеapt
|yum
установить его.источник
Я часто пытаюсь заархивировать измененные файлы в моем рабочем каталоге - либо скопировать все измененные файлы в другой рабочий каталог песочницы, либо сохранить их ненадолго, потому что я хочу отменить некоторые изменения.
В этом случае я копирую список измененных файлов во временный файл и использую его
zip
с опцией-@
.Допустим, я изменил файлы Foo.h, Bar.cc и TestBar.cc.
Допустим, я создал файл с именемified-files.txt, содержимое которого:
Я выполняю следующую команду, чтобы сжать эти файлы:
источник