Linux zip архивировать файл

Как заархивировать файлы и каталоги в Linux

Zip — это наиболее широко используемый формат архивных файлов, поддерживающий сжатие данных без потерь.

Zip-файл — это контейнер данных, содержащий один или несколько сжатых файлов или каталогов. Сжатые (заархивированные) файлы занимают меньше места на диске, их можно перенести с одного компьютера на другой быстрее, чем несжатые файлы. Zip-файлы можно легко извлечь в Windows, macOS и Linux с помощью утилит, доступных для всех операционных систем.

В этом руководстве мы покажем вам, как архивировать (сжимать) файлы и каталоги в Linux с помощью команды zip .

zip Команда

zip — это утилита командной строки, которая помогает создавать Zip-архивы.

Команда zip имеет следующий синтаксис:

zip OPTIONS ARCHIVE_NAME FILES 

Чтобы создать Zip-архив в определенном каталоге, пользователю необходимо иметь права на запись в этот каталог.

Zip-файлы не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю, выполняющему команду.

Чтобы сохранить право собственности на файл и права доступа, используйте команду tar .

Утилита zip не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить ее с помощью диспетчера пакетов вашего дистрибутива.

Установите Zip в Ubuntu и Debian

Установите Zip на CentOS и Fedora

Как архивировать файлы и каталоги

Чтобы заархивировать один или несколько файлов, укажите файлы, которые вы хотите добавить в архив, через пробел, как показано ниже:

zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%) adding: filename2 (stored 0%) adding: filename3 (deflated 38%) 

По умолчанию команда zip печатает имена файлов, добавленных в архив, и метод сжатия. Мы объясним методы и уровень сжатия позже в этом руководстве.

При указании имени архива Zip, если вы опускаете расширение .zip оно будет добавлено автоматически, если имя архива не содержит точки. zip archivename.zip filename создаст архив с тем же именем, что и zip archivename filename .

Чтобы подавить вывод команды zip , используйте параметр -q :

zip -q archivename.zip filename1 filename2 filename3

Часто вы создаете Zip-архив каталога, включающего содержимое подкаталогов. Параметр -r позволяет рекурсивно просматривать всю структуру каталогов.

Читайте также:  Which linux to start on

Чтобы создать Zip-архив каталога, вы должны использовать:

zip -r archivename.zip directory_name

Вы также можете добавить несколько файлов и каталогов в один архив:

zip -r archivename.zip directory_name1 directory_name2 file1 file1

Методы и уровни сжатия

Метод сжатия Zip по умолчанию — deflate . Если утилита zip определяет, что файл нельзя сжать, она просто сохраняет файл в архиве, не сжимая его с помощью метода store . В большинстве дистрибутивов Linux утилита zip также поддерживает метод сжатия bzip2 .

Чтобы указать метод сжатия, используйте параметр -Z .

zip -r -Z bzip2 archivename.zip directory_name
. adding: sub_dir/ (stored 0%) adding: sub_dir/file1 (bzipped 52%) adding: sub_dir/file2 (bzipped 79%) 

Команда zip позволяет указать уровень сжатия с помощью числа с префиксом от 0 до 9. Уровень сжатия по умолчанию -6 . При использовании -0 все файлы будут сохраняться без сжатия. -9 заставит команду zip использовать оптимальное сжатие для всех файлов.

Например, чтобы использовать уровень сжатия -9 , введите что-то вроде этого:

zip -9 -r archivename.zip directory_name

Чем выше уровень сжатия, тем интенсивнее процесс архивирования, и для его завершения потребуется больше времени.

Создание ZIP-файла, защищенного паролем

Если у вас есть конфиденциальная информация, которую необходимо сохранить в архиве, вы можете зашифровать ее с помощью параметра -e :

zip -e archivename.zip directory_name

Вам будет предложено ввести и подтвердить пароль архива:

Enter password: Verify password: 

Создание разделенного Zip-файла

Представьте, что вы хотите сохранить Zip-архив на сервисе хостинга файлов, который имеет ограничение на размер загружаемого файла 1 ГБ, а ваш Zip-архив — 5 ГБ.

Вы можете создать новый разделенный Zip-файл, используя параметр -s с указанием размера. Множитель может быть k (килобайты), m (мегабайты), g (гигабайты) или t (терабайты).

zip -s 1g -r archivename.zip directory_name

Приведенная выше команда продолжит создание новых архивов в наборе после достижения указанного предельного размера.

archivename.zip archivename.z01 archivename.z02 archivename.z03 archivename.z04 

Примеры ZIP

Создайте Zip-архив с именем archivename.zip, содержащий все файлы в текущем каталоге.

То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):

Создайте Zip-архив с именем archivename.zip содержащий все файлы MP3 в текущем каталоге, без сжатия файлов.

Выводы

В Linux вы можете создавать Zip-архивы с помощью команды zip .

Чтобы распаковать ZIP-архив в системе Linux, вы можете использовать команду unzip .

Если вы хотите узнать больше о Zip, посетите страницу Zip Man .

Источник

Создаем zip-архивы в командной строке

Рассмотрим, как создавать и распаковывать zip архивы из командной строки.

Для создания архивов служит команда zip. У нее есть более 30 разных опций, но я рассмотрю простейшие примеры.

Читайте также:  Linux github how to

Создаем простой zip-архив

Для создания zip-архива просто выполняем команду zip, в первом аргументе указываем имя будущего архива, а во втором сам файл, который мы сжимаем:

Если нужно сжать несколько файлов то перечисляем их через пробел:

zip myarchive.zip myfile.txt yourfile.txt theirfile.txt

Создаем zip-архив папки

Чтобы заархивировать папку, используется ключ -r:

zip -r mydir.zip verygooddir

Создаем zip-архив с паролем

Очень важной функцией утилиты zip является возможность задания пароля на распаковку архива. Для этого применяется опция -P, после которой следует написать пароль:

zip -P мойпароль -r mysecretdir.zip mysecretdir

Если вы не хотите вводить пароль в командной строке у всех на виду, то можно использовать опцию -e, чтобы вместо ввода пароля в открытую, вводить его в срытом виде:

zip -er mysecretdir.zip mysecretdir

После выполнения данной команды, вам будет предложено дважды ввести пароль. Сам пароль виден при этом не будет:

Enter password: Verify password:

Распаковка zip-архива

Для того, чтобы разархивировать zip-архив, используется команда unzip. Ее можно запускать без опций, только указывая имя архива:

По умолчанию распаковка происходит в текущей директории. Чтобы распаковать архив в другую директорию, используется опция -d, после которой нужно указать путь до директории:

Источник

How to zip a file in Ubuntu [closed]

Closed. This question is not about programming or software development. It is not currently accepting answers.

This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.

I use Ubuntu. When I have to zip a folder I use the command zip folder.zip folder/ The result is an empty zipped folder! Where did all the files in the folder go?

I used information from this question and answer in a script, but I guess that’s not «programming» for some. The simple, perhaps «noob», questions are often the most useful and time saving on this website. Documentation is often marginal. The best way to learn and find answers fast is generally FAQ/Q&A. A community driven Q&A assists a lot of people where documentation fails. Should we make a new, competing website, if this is not welcomed here?

If you do this more than once, it might also be helpful to add -x «*.zip*» otherwise you inculde the «old» zipfile in your «new» zipfile

Читайте также:  Linux как заархивировать папку

5 Answers 5

sudo apt-get install zip -y zip -r folder.zip folder 

The -r flag will tell it to be recursive, which may be needed for a directory.

In case you are just bundling fairly uncompressable stuff like jpg or mp3, you can opt for zero compression with -0 , i.e. zip -0 -r sample1.zip sample1/*

If zip command is not working then you need to install zip first. Here is the command which will install zip, gzip and tar.

sudo apt-get install zip gzip tar 

then you can zip, gzip or tar. zip the folder :

zip -r myzipped.zip my_folder 

Here are some more related useful commands :

unzip myzipped.zip tar -cvzf my.tar.gz directory_name tar -xvzf myzipped.tar.gz 

Regarding „some more useful“: creating a tar (‘tape archive’) and zip (aka creating the pkware zip file format format most popular under windows) are not at all the same thing.

check out solution below: You can create a simple zip file with zip command without using any options.

For example to create a zip file of text files first_file.txt, second_file.txt and third_file.txt run below command:

sudo zip newfile.zip first_file.txt second_file.txt third_file.txt 
adding: first_file.txt adding: second_file.txt adding: third_file.txt 

To zip a folder in linux use below command

For Example ( if static is a folder name)

Let’s take the question «How to zip a file in ubuntu» as «how to compress a file in Ubuntu».

Please note that you have the following trade-offs:

  • Speed at compression time
  • Speed at decompression time
  • Size of archive
  • Additional features (e.g. adding a password)

Also, you can distinguish creating an archive (multiple files in one file) and compressing it. If you see it as a two-step process ((1) Archive (2) compress) you can solve them independently.

Please also note that different compression algorithms shine in different scenarios. There is no single algorithm that is always best («no free lunch»)

# A file zip your_big_file # Archive a directory + compress it zip -r compressed.zip your_big_directory 

gzip

# -9: Use strongest (and slowest) compression gzip -9 your_big_file 
# Archive a directory + compress it # c, --create : Create a new archive. # -z, --gzip, --gunzip: filter the archive through gzip # -j, --bzip2 : filter the archive through bzip2 # -f, --file=ARCHIVE : Use archive file (or device) ARCHIVE. tar cvzf compressed.tar.gz your_big_directory/ 

bzip2

# -9: Use strongest (and slowest) compression bzip -9 your_big_file 

Источник

Оцените статью
Adblock
detector