Заметное отличие, которое я наблюдаю, - то, что Вы не можете вложить обратные галочки, в то время как можно вложить $()
. Возможно, оба существуют по причинам прежней версии. Точно так же .
и source
команды являются синонимами.
Обычно каждый использует tar
создать несжатый архив и также gzip
или bzip2
сжимать тот архив. Соответствие gunzip
и bunzip2
команды могут использоваться для распаковки, сказал, что архив, или можно просто использовать флаги на tar
команда для выполнения несжатия.
Если Вы обращаетесь конкретно к формату zip-файла, можно просто использовать zip
и unzip
команды.
Сжиматься:
zip squash.zip file1 file2 file3
или архивировать каталог
zip -r squash.zip dir1
Распаковать:
unzip squash.zip
это разархивировало его в Вашем текущем рабочем каталоге.
Существует действительно огромное количество различных способов сжать и распаковать под производными UNIX, таким образом, я собираюсь предположить, что Вы имели в виду "zip" в универсальном смысле, а не определенном формате файла.
Можно архивировать файлы (в сжатом формате) с GNU tar
программа:
tar -zcvf myfile.tgz .
который сделает текущий каталог. Замена .
с другими именами файлов, если Вы хотите что-то еще.
Для разархивации того файла используйте:
tar -zxvf myfile.tgz
Это предполагает, конечно, что у Вас есть a tar
способный к выполнению сжатия, а также объединению файлов в один.
В противном случае можно просто использовать tar cvf
сопровождаемый gzip
(снова, при наличии) для сжатия и gunzip
сопровождаемый tar xvf
.
Для определенной обработки файлов формата ZIP я рекомендовал бы загрузить 7zip
и с помощью этого - это распознает огромное множество форматов файлов, включая ZIP один.
tar jcvf file.tar.bz2...
сжиматься в bzip2 формате или tar Jcvf file.tar.xz ...
для xz сжатия.
– OldTimer
11.03.2016, 02:04
Ну, когда дело доходит до распределительных файлов для множества операционных систем я рекомендовал бы с 7 zip.
Обычно в пакете p7zip
, Вы доберетесь 7z
и 7za
команда, с которой можно создать собственное 7z архивы.
7za
может также распаковать стандарт (pkzip) архивы zip (и создать их также с -tzip
переключатель).
Сжатие:
7za a archive.7z file1 file2 directory/
Распаковка:
7za x archive.7z
Это может также создать самораспаковывающиеся архивы с -sfx
переключатель:
7za a -sfx archive.exe files1 file2 dir
Я рекомендую этот метод в случае, если пользователи Windows не могут открыться 7z архивы (в случае, если Вы хотите к совету инструмент для этого: PeaZip).
Если Вы хотите использовать тот же алгоритм сжатия со своим tarballs, используйте -J
переключатель с tar
:
tar cJf archive.tar.xz file1 file2 dir
xz
инструмент UNIX, который использует LZMA2 для сжатия, но прокладывает себе путь gz
, bz2
, и т.д. работы. Это даже работает фильтром.
7z не создает архивы с полной информацией о файловой системе о UNIX, таким образом, необходимо было бы использовать tar
перед использованием 7z (но с тех пор 7z хранит другую информацию о tar
файл, я рекомендовал бы использовать xz
, поскольку это разработано для него):
tar cf - file1 file2 dir | 7za z -si archive.tar.7z
atool
, это - миленький инструмент, который делает использование многих различных компрессоров более удобным. Свяжите это с a
и создание архива становится a arc.7z folder/
или извлечение простого a arc.7z
– polemon
03.05.2014, 02:17
unzip <filename>
и
zip -r archive.zip <filename> [filename]
Необходимо будет удостовериться, что эти команды установлены через диспетчер пакетов. Это не тяжелее, чем использование чего-либо еще на командной строке. Это, конечно, более просто, чем создание архивов с tar.
Самый стандартный ответ pax
, который рекомендуется cpio
и tar
.
В отличие от этого, cpio
и POSIX tar
, но как GNU tar
, pax
может к обоим архивным файлам, и сожмите архив. Это поведение отличается от zip
, который сжимает каждый файл прежде, чем поместить его в архив.
Если у вас не установлены пакеты zip и unzip и у вас есть java, вы можете использовать jar
для распаковки:
jar -xf file.zip
BSD Tar также может сделать это
bsdtar acf bravo.zip alfa.jpg
Или:
bsdtar xf bravo.zip
Сюда относится только экстракция.
Для этого я начал использоватьdtrx
.
Весь смысл в том, чтобы устранить сложность. Так что вы просто передаете ему любой архив, и он сам разбирается, что с ним нужно сделать. Zip, tar, gz... Использование всегда одинаковое — dtrx archive.zip
. Он задает несколько вопросов, и все готово.
dtrx
доступен в большинстве репозиториев, поэтому вы можете apt
| yum
установите его.
Я часто ловлю себя на том, что пытаюсь заархивировать измененные файлы в моем рабочем каталоге --либо для того, чтобы скопировать все измененные файлы в другой рабочий каталог песочницы, либо для того, чтобы сохранить их на короткое время, потому что я хочу отменить некоторые изменения.
В этом случае я копирую список измененных файлов во временный файл и использую zip
с опцией -@
.
Допустим, я изменил файлы Foo.h, Bar.cc и TestBar.cc.
Допустим, я создаю файл с именем модифицированный -files.txt, содержимое которого:
Foo.h
Bar.cc
TestBar.cc
Я выполняю следующую команду, чтобы заархивировать эти файлы:
cat modified-files.txt | zip modified-files.zip -@
zip -r9 archive.zip files...
синтаксис (-r=recursive-9=max сжатие). – amphetamachine 31.01.2011, 14:29zip
может создать много различных разновидностей архивов.ZIP, а также использовать много различных компрессоров. С другой стороны, существует много других инструментов сжатия, названных так же: С 7 zip, gzip, bzip2, rzip, и т.д. которые не являются взаимозаменяемыми. – polemon 04.05.2014, 17:34cd dir1; zip -r ../squash.zip *
– Marinos An 30.11.2016, 20:11unzip -d myfolder squash.zip
извлечь в отдельный новый каталог (myfolder
) вместо того, чтобы поместить все файлы непосредственно в текущий каталог, который может быть раздражающим, если zip-файл содержит много файлов и каталогов на его верхнем уровне. Это подражает, как большая часть UI разархивировала работу инструментов. – Alexander Klimetschek 08.03.2017, 07:01