- Распаковать несколько архивов
- Команда Linux unzip
- Есть несколько способов разархивировать файлы с помощью этой команды
- Распаковать отдельные ZIP-файлы
- Распаковать несколько файлов ZIP
- Исключить некоторые ZIP-файлы
- Извлечь ZIP-файл в другой каталог
- Как показать содержимое сжатого Zip-файла
- Как проверить, является ли ZIP-файл действительным
- См. Подробную информацию в файле ZIP
- Распакуйте ZIP-файл без создания каталогов
- Распакуйте ZIP-файл без запроса перезаписи
- Извлечение защищенных паролем ZIP-файлов
- Разархивируйте файл, не отображая вывод
- How to Unzip a Zip File in Linux Command Line
- Prerequisites
- Install unzip Package in Linux
- Ubuntu / Debian
- Fedora / Redhat / AlmaLinux / Rocky Linux
- unzip Command in Linux
- Unzip a ZIP File with the unzip
- Extracting Files to a another directory
- Exclude Files
- Overwrite Existing Files
- Without Overwriting Existing Files
- List Contents of ZIP Archive
- Unzip multiple ZIP files
- Password protected zip file
- Verify ZIP Archive Integrity
- Conclusion
Распаковать несколько архивов
Распаковать с помощью 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-файл в текущей папке.
Исключить некоторые 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-файла, содержащего файлы с такими же именами. Вы сразу потеряете все, над чем работали, когда новые файлы заменят ваши существующие.
Однако вы можете использовать переключатель -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.
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:
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
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
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:
- [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.
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.
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:
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
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.
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