Unzip linux несколько архивов

Распаковать несколько архивов

Распаковать с помощью unzip в командной строке Linux несколько zip-архивов в один каталог. Вопреки возможным ожиданиям, unzip *.zip работать не будет, *.zip необходимо взять в кавычки:

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

Unzip -B в процессе распаковки перезаписывает файлы с одинаковыми именами, но сохраняет их резервные копии. Новые имена для этих файлов создаются добавлением тильды («~») в конец изначальных названий файлов. Если имеется расширение, то «~» добавляется после него. Если этого недостаточно, после тильды («~») прибавляется уникальная последовательность цифр (до 5 знаков).

Unzip -B не слишком рабочее решение. Например, поскольку диапазон последовательностей цифр может израсходоваться (99999 знаков, или 65535 для 16-битных систем), резервный файл с максимальным числом диапазона после «~» в названии стирается и замещается без уведомления новой резервной копией ( Более подробно ). Число файлов в архиве может быть не всегда известно заранее или оно может быть больше диапазона доступных чисел, так что Unzip -B не лучший вариант. Переименование файлов с одинаковыми именами с помощью добавления «~» в конце имен, после расширения тоже не слишком удобно.

Но другой встроенный вариант еще хуже. Если модификатор -B не используется, то каждый раз, как распаковывается файл с таким же именем как уже был извлечен, unzip спрашивает replace example.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: («заместить example.txt? да, нет, все, ни один, переименовать:»). Каждый раз нужно нажимать на «r» и каждый раз вводить новое имя. Так что для решения проблемы вероятно следует создать и использовать какой-то скрипт, bash или иной.

Операционные системы
Ещё

Источник

Команда Linux unzip

Есть несколько способов разархивировать файлы с помощью этой команды

Архивирование файлов – это простой и эффективный способ передачи данных между компьютерами и серверами. Когда файлы сжимаются, они не только экономят дисковое пространство на локальном диске, но и облегчают и делают более удобной загрузку файлов из Интернета, используя гораздо меньшую пропускную способность, чем отправка полноразмерных файлов.

Когда вы получаете сжатый архив в Linux, распаковать его так же просто. В Linux доступно множество переключателей, что означает, что у вас есть много способов извлечь файлы с помощью команды unzip в командной строке.

Распаковать отдельные ZIP-файлы

Основной синтаксис для распаковки файла:

 распаковать имя файла 

Например, скажем, вы загрузили альбом с названием Угроза трезвости . Чтобы распаковать этот файл в текущую папку, вам нужно просто выполнить следующую команду:

 Распакуйте "Угроза трезвости" 

Распаковать несколько файлов ZIP

Команда man позволяет распаковывать более одного файла за раз, используя следующий синтаксис:

 распаковать имя файла1 имя файла2 имя файла3 

Если вы заархивировали три файла альбомов Алисы Купер с именами Trash , Hey Stoopid и Dragontown по отдельности, вы можете попробовать разархивировать их. их:

 распакуйте "Trash.zip" "Dragontown.zip" "Привет Stoopid.zip" 

Тем не менее, вы получите эту ошибку:

 Архив: Trash.zip Внимание: имя файла не совпадает: Dragontown.zip 

Предполагая, что эти три файла находятся в одной папке, лучше использовать следующую команду:

 распаковать '* .zip' 

Будьте осторожны, хотя. Эта команда неразборчива и распаковывает каждый ZIP-файл в текущей папке.

Читайте также:  Http linux romanov info

Исключить некоторые ZIP-файлы

Если у вас есть ZIP-файл, и вы хотите извлечь все файлы, кроме одного, используйте переключатель -x .

 разархивируйте filename.zip -x filetoexclude.zip 

Чтобы продолжить наш пример, альбом “Trash” в Trash.zip имеет MP3 под названием Bed Of Nails . Чтобы извлечь все песни, кроме “Bed Of Nails”, вы должны сделать следующее:

 разархивируйте Trash.zip -x "Bed Of Nails.mp3" 

Извлечь ZIP-файл в другой каталог

Если вы хотите поместить содержимое файла ZIP в каталог, отличный от текущего, используйте переключатель -d .

 разархивировать filename.zip -d путь/к/извлечь/к 

Например, чтобы распаковать файл Trash.zip в файл /home/music/Алиса Купер/Trash , вы должны использовать следующий синтаксис:

 распаковать Trash.zip -d "/ home/music/Алиса Купер/Trash" 

Как показать содержимое сжатого Zip-файла

Чтобы просмотреть содержимое сжатого файла, используйте переключатель -l .

 разархивируйте -l filename.zip 

В нашем примере мы могли бы использовать этот переключатель, чтобы увидеть все файлы в Trash.zip .

 распаковать -l Trash.zip 

Возвращенная информация включает в себя:

Как проверить, является ли ZIP-файл действительным

Чтобы проверить, правильно ли структурирован ZIP-файл и можно ли его правильно использовать перед извлечением, используйте переключатель -t .

 разархивируйте -t filename.zip 

Например, чтобы проверить, является ли Trash.zip допустимым, вы можете выполнить следующее:

 распаковать -t Trash.zip 

Каждый файл указан в списке, и рядом с ним должно появиться ОК . В нижней части вывода должно появиться сообщение о том, что ошибок в сжатых данных … не обнаружено.

См. Подробную информацию в файле ZIP

Переключатель -v (подробный) может дать более подробную информацию.

 разархивировать -v имя файла 

Чтобы использовать этот переключатель с Trash.zip для просмотра дополнительной информации, мы набрали бы:

 распакуйте -v корзину.почтовый индекс 

Вывод содержит следующую информацию:

  • Длина в байтах
  • метод
  • Размер
  • Процент сжатия
  • Дата и время создания
  • CRC
  • название

Распакуйте ZIP-файл без создания каталогов

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

Например, при извлечении filename1.zip , который имеет следующие три папки, будут извлечены те же самые папки:

  • Папка 1: filea.txt, fileb.txt, filec.txt
  • Папка 2: filed.txt, filee.txt
  • Папка 3: filef.txt

В этом примере, чтобы извлечь все файлы TXT в текущую папку, не создавая эти три папки, просто добавьте -j в конец команды.

 разархивируйте -j filename1.zip 

Распакуйте ZIP-файл без запроса перезаписи

Предположим, вы уже распаковали определенный ZIP-файл и начали работать с распакованными файлами, изменяя и обновляя их по своему усмотрению. Последнее, что вам нужно, это перезаписать эти файлы при извлечении ZIP-файла, содержащего файлы с такими же именами. Вы сразу потеряете все, над чем работали, когда новые файлы заменят ваши существующие.

Читайте также:  Linux find all file with name

Однако вы можете использовать переключатель -n , если хотите не перезаписывать существующие файлы. Каждый файл из архива ZIP, имя которого соответствует файлу в извлеченной папке, не будет перезаписывать что-либо при использовании этого параметра. Однако все остальное, имеющее уникальное имя, будет извлечено.

 разархивируйте -n filename.zip 

Если вам все равно, существует ли файл, и вы всегда хотите перезаписать файлы, когда они извлекаются без запроса, используйте переключатель -o .

 разархивируйте -o filename.zip 

Извлечение защищенных паролем ZIP-файлов

Если вам нужно разархивировать файл, для доступа к которому требуется пароль, используйте переключатель -p , а затем пароль.

 распаковать -P пароль filename.zip 

Например, чтобы разархивировать файл с именем cats.zip с паролем kittens123 , используйте следующее:

 распаковать -P котята123 filename.zip 

Разархивируйте файл, не отображая вывод

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

 разархивируйте -q filename.zip 

Это распаковывает имя файла без предоставления какого-либо вывода и возвращает вас к курсору, когда он закончил.

Источник

How to Unzip a Zip File in Linux Command Line

Zip is a popular command-line tool to compress files. It allows us to create Zip archives. By default, it uses a lossless data compression technique.

Once the compressed zip file is placed in the target directory, it needs to be extracted. In this tutorial, we learn how to unzip a zip file in Linux command line using unzip command.

Prerequisites

  • Unzip package installed
  • If the package is not installed required a user account with sudo access

Install unzip Package in Linux

The new versions of Linux Distributions are already installed with unzip package. If not installed you may see «sudo: unzip: command not found» error when you try unzip command. You can easily install unzip package using the package manager.

Ubuntu / Debian

To install unzip on Ubuntu and Debian use the apt command:

Fedora / Redhat / AlmaLinux / Rocky Linux

On RPM-based Linux Distributions such as Fedora, Redhat, AlmaLinux, and Rocky Linux you can use the DNF package manager.

To install the unzip package using DNF, type:

You may also use yum to install unzip command:

unzip Command in Linux

The unzip command is mainly used for unzipping — extracting files from a specified zip archive file. The archive file will have a .zip file extension. You may also use unzip command to list and test the zip files. By default unzip command extracts into the current directory.

The basic syntax for unzip command:

unzip options [-d dir] [-x pattern] [-P password] file.zip

Unzip a ZIP File with the unzip

Unzipping your compressed zipped file is simple and straightforward.

For example to unzip a zip file named archived_file.zip, type:

When unzip is used without any options, it extracts to the current directory. You can use ls command to verify it.

unzip a file named archived_file.zip

Make sure you have write permissions on the current folder where you will extract zip files to.

By default, unzip linux will print the names and summary of the files it has extracted. Using the -q option will unzip all the files in a quiet mode:

Читайте также:  What is linux ldconfig

unzip without output using -q option

Extracting Files to a another directory

To unzip a ZIP file to a different directory, we use the -d option followed by the absolute path:

unzip archived_file.zip -d /path/to/directory

unzip extract to a directory

Exclude Files

When unzipping you can exclude specific files and subdirectories. That means those files or directories will be kept as it is in the archive file, and won’t be extracted.

Use -x option to exclude files or directories while extracting.

For example to exclude files named filename1 and dual from being extracted, type:

unzip archived_file.zip -x filename1 dual

unzip exclude files

Overwrite Existing Files

Unzipping twice will prompt for overwriting existing files. This scenario happens in cases where you have deleted some extracted files and to fix that you have to extract files again.

When run unzip again, it will prompt to replace:

unzip overwrite

  • [y]es: overwrite current file
  • [n]o: don’t overwrite current file
  • [A]ll: overwrite all of the files
  • [N]one: overwrite none of the files
  • [r]ename: Extract current file but give it a new name and prompt for a new name.

For unzip to overwrite the files without raising any prompt, use the -o option. This perform force unzip overwriting any existing files.

unzip overwrite files without prompting

Without Overwriting Existing Files

For unzip to extract only files that are not present in the target directory use -n option.

Never overwrite a scenario that could happen when you have to keep all the extracted files with changes and restore the deleted files.

unzip without overwrite in linux

List Contents of ZIP Archive

Use -l option to list the contents of the ZIP archive file. This option helps to see what’s inside the zip file before extracting it.

For example to list the contents of the zipped archived file named archived_file.zip, type:

unzip list files

You can use unzip pipe through less to get the big list of files at a time.

unzip -l archived_file.zip | less

Unzip multiple ZIP files

To perform unzip multiple files which are in .zip extension, you may need to use regular expression.

The following command unzip all .zip files in the current directory:

Password protected zip file

Use -p option to unzip a password protected zip file. The -p option should be followed by the password which was used to zip the file.

unzip -P mypassword archived_file.zip

unzip password protected zip file

A rather more secure option would be to extract the file without providing the password. This way command will prompt for the password.

Verify ZIP Archive Integrity

Using unzip command you can test the archive files using the -t option. This helps to find any corrupt files inside the archive.

Remeber this process may take a longer time to complete as it performs cyclic redundancy checks.

unzip test integrity

Conclusion

In this tutorial, we learned how to unzip files from Linux command line. Commonly unzip command is used to extract compressed ZIP archives and list zip file contents.

For more information browse to the man unzip page. Thanks for reading, please provide your feedback and suggestions in the below comment section.

If this resource helped you, let us know your care by a Thanks Tweet. Tweet a thanks

Источник

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