- Как разархивировать файлы в Linux
- Установка unzip
- Установите unzip на Ubuntu и Debian
- Установите unzip на CentOS и Fedora
- Как разархивировать ZIP-файл
- Подавить вывод команды unzip
- Разархивируйте ZIP-файл в другой каталог
- Разархивируйте ZIP-файл, защищенный паролем
- Исключить файлы при распаковке ZIP-файла
- Перезаписать существующие файлы
- Разархивируйте ZIP-файл без перезаписи существующих файлов
- Разархивируйте несколько файлов ZIP
- Список содержимого Zip-файла
- Выводы
- KALI – How to unzip files on Linux
- Linux Compression Commands
- Options for tar files:
- KALI – How to ZIP Files in Linux – The Visual Guide
- #21 Kali Linux для начинающих. Архивация и сжатие. Часть 3.
Как разархивировать файлы в Linux
ZIP — это наиболее широко используемый формат архивных файлов, поддерживающий сжатие данных без потерь. ZIP-файл — это контейнер данных, содержащий один или несколько сжатых файлов или каталогов.
В этом руководстве мы объясним, как разархивировать файлы в системах Linux через командную строку с помощью команды unzip .
Установка unzip
unzip не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.
Установите unzip на Ubuntu и Debian
Установите unzip на CentOS и Fedora
Как разархивировать ZIP-файл
В простейшей форме, при использовании без какой-либо опции, команда unzip извлекает все файлы из указанного архива ZIP в текущий каталог.
В качестве примера предположим, что вы загрузили установочный ZIP-файл WordPress . Чтобы распаковать этот файл в текущий каталог, вы просто выполните следующую команду:
Файлы ZIP не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю , выполняющему команду.
У вас должны быть права на запись в каталог, в который вы распаковываете ZIP-архив.
Подавить вывод команды unzip
По умолчанию unzip распечатывает имена всех извлекаемых файлов и сводку по завершении извлечения.
Используйте переключатель -q чтобы запретить печать этих сообщений.
Разархивируйте ZIP-файл в другой каталог
Чтобы распаковать ZIP-файл в каталог, отличный от текущего, используйте переключатель -d :
unzip filename.zip -d /path/to/directory
Например, чтобы распаковать архив WordPress latest.zip в latest.zip /var/www/ , вы должны использовать следующую команду:
sudo unzip latest.zip -d /var/www
В приведенной выше команде мы используем sudo потому что обычно пользователь, под которым мы вошли в систему, не имеет прав на запись в каталог /var/www . Когда файлы ZIP распаковываются с помощью sudo , извлеченные файлы и каталоги принадлежат пользователю root.
Разархивируйте ZIP-файл, защищенный паролем
Чтобы распаковать файл, защищенный паролем, вызовите команду unzip с параметром -P за которым следует пароль:
unzip -P PasswOrd filename.zip
Ввод пароля в командной строке небезопасен, и его следует избегать. Более безопасный вариант — обычное извлечение файла без ввода пароля. Если ZIP-файл зашифрован, unzip предложит ввести пароль:
archive: filename.zip [filename.zip] file.txt password:
unzip будет использовать один и тот же пароль для всех зашифрованных файлов, если он правильный.
Исключить файлы при распаковке ZIP-файла
Чтобы исключить определенные файлы или каталоги из извлечения, используйте параметр -x за которым следует список архивных файлов, разделенных пробелами, которые вы хотите исключить из извлечения:
unzip filename.zip -x file1-to-exclude file2-to-exclude
В следующем примере мы извлекаем все файлы и каталоги из ZIP-архива, кроме каталога .git :
Перезаписать существующие файлы
Допустим, вы уже разархивировали ZIP-файл и снова запускаете ту же команду:
По умолчанию unzip спросит вас, хотите ли вы перезаписать только текущий файл, перезаписать все файлы, пропустить извлечение текущего файла, пропустить извлечение всех файлов или переименовать текущий файл.
Archive: latest.zip replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Если вы хотите перезаписать существующие файлы без запроса, используйте параметр -o :
Используйте эту опцию с осторожностью. Если вы внесли какие-либо изменения в файлы, они будут потеряны.
Разархивируйте ZIP-файл без перезаписи существующих файлов
Допустим, вы уже разархивировали ZIP-файл и внесли изменения в некоторые файлы, но случайно удалили несколько файлов. Вы хотите сохранить изменения и восстановить удаленные файлы из ZIP-архива.
В этом случае используйте параметр -n который заставляет unzip чтобы пропустить извлечение уже существующего файла:
Разархивируйте несколько файлов ZIP
Вы можете использовать регулярные выражения для сопоставления нескольких архивов.
Например, если у вас есть несколько файлов ZIP в текущем рабочем каталоге, вы можете распаковать все файлы, используя только одну команду:
Обратите внимание на одинарные кавычки вокруг *.zip . Если вы забыли указать аргумент в кавычках, оболочка расширит подстановочный знак, и вы получите сообщение об ошибке.
Список содержимого Zip-файла
Чтобы просмотреть содержимое ZIP-файла, используйте параметр -l :
В приведенном ниже примере мы перечисляем все установочные файлы WordPress:
Результат будет выглядеть так:
Archive: latest.zip Length Date Time Name --------- ---------- ----- ---- 0 2018-08-02 22:39 wordpress/ 3065 2016-08-31 18:31 wordpress/xmlrpc.php 364 2015-12-19 12:20 wordpress/wp-blog-header.php 7415 2018-03-18 17:13 wordpress/readme.html . . 21323 2018-03-09 01:15 wordpress/wp-admin/themes.php 8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php 4620 2017-10-24 00:12 wordpress/wp-trackback.php 1889 2018-05-03 00:11 wordpress/wp-comments-post.php --------- ------- 27271400 1648 files
Выводы
unzip — это утилита, которая помогает составлять списки, тестировать и извлекать сжатые архивы ZIP.
Чтобы создать ZIP-архив в системе Linux, вам необходимо использовать команду zip .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
KALI – How to unzip files on Linux
How to extract various archives (tar, zip, gzip, bzip2 etc) on Linux and some other tricks for searching inside of archives etc.
COMMAND | DESCRIPTION |
---|---|
unzip archive.zip | Extracts zip file on Linux. |
zipgrep *.txt archive.zip | Search inside a .zip archive. |
tar xf archive.tar | Extract tar file Linux. |
tar xvzf archive.tar.gz | Extract a tar.gz file Linux. |
tar xjf archive.tar.bz2 | Extract a tar.bz2 file Linux. |
tar ztvf file.tar.gz | grep blah | Search inside a tar.gz file. |
gzip -d archive.gz | Extract a gzip file Linux. |
zcat archive.gz | Read a gz file Linux without decompressing. |
zless archive.gz | Same function as the less command for .gz archives. |
zgrep ‘blah’ /var/log/maillog*.gz | Search inside .gz archives on Linux, search inside of compressed log files. |
vim file.txt.gz | Use vim to read .txt.gz files (my personal favorite). |
upx -9 -o output.exe input.exe | UPX compress .exe file Linux. |
Linux Compression Commands
COMMAND | DESCRIPTION |
---|---|
zip -r file.zip /dir/* | Creates a .zip file on Linux. |
tar cf archive.tar files | Creates a tar file on Linux. |
tar czf archive.tar.gz files | Creates a tar.gz file on Linux. |
tar cjf archive.tar.bz2 files | Creates a tar.bz2 file on Linux. |
gzip file | Creates a file.gz file on Linux. |
Options for tar files:
- Type at the command prompt tar xvzf file-1.0.tar.gz – to uncompress a gzip tar file (.tgz or .tar.gz) tar xvjf file-1.0.tar.bz2 – to uncompress a bzip2 tar file (.tbz or .tar.bz2) tar xvf file-1.0.tar – to uncompressed tar file (.tar)
- x = eXtract, this indicated an extraction c = create to create )
- v = verbose (optional) the files with relative locations will be displayed.
- z = gzip-ped; j = bzip2-zipped
- f = from/to file … (what is next after the f is the archive file)
- The files will be extracted in the current folder. HINT: if you know that a file has to be in a certain folder, move to that folder first. Then download, then uncompress – all in the correct folder. Yes, I’m lazy.. no I don’t like to copy files between directories, and then delete others to clean up. Download them in the correct directory and save yourself 2 jobs.
Some time you just wanted to look at files inside an archive or compressed file. Then all of the above command supports file list option.
Syntax | Description | Example(s) |
gzip -l | List files from a GZIP archive | gzip -l mydata.doc.gz |
unzip -l | List files from a ZIP archive | unzip -l mydata.zip |
tar -ztvf tar -jtvf | List files from a TAR archive | tar -ztvf pics.tar.gz tar -jtvf data.tbz2 |
KALI – How to ZIP Files in Linux – The Visual Guide
#21 Kali Linux для начинающих. Архивация и сжатие. Часть 3.
Продолжаем рассматривать архивацию и сжатие. Для дальнейшей работы нам понадобится еще одна директория, для того, чтобы скопировать наш архив в нее. Делаем последовательно эти два шага с помощью команд: «mkdir archive» и «cp timcore.tar archive/»:
Перейду в эту свежесозданную директорию «archive/», и как видите, в ней лежит один архив:
Теперь перейдем к распаковке нашего архива, и для начала я покажу, как можно распаковать одну директорию или один файл, так как предположим, что я не хочу распаковывать весь архив. Для этого нужно выполнить команду: «tar xvf timcore.tar txt2»:
Все отлично, файл успешно распакован.
Можно рассмотреть вариант распаковки с директориями. Команда будет выглядеть следующим образом: «tar xvf timcore.tar test1»:
Совершенно не обязательно распаковывать весь архив, и Вы можете выбрать то, что нужно именно Вам.
Если мне нужно распаковать весь архив, то для этого нужна команда: «tar xvf timcore.tar»:
Можем рассмотреть ситуацию того, что мы находимся в директории /tmp/, и нам не нужно распаковывать архив в текущую директорию. Я хочу, чтобы файлы и директории были распакованы на Рабочий стол. Это можно реализовать с помощью опции «-C», и команда будет выглядеть следующим образом: «tar xvf timcore.tar -C ~/Desktop/»:
Архивация на Рабочий стол завершилась корректно.
Теперь давайте рассмотрим некоторые команды сжатия и архивирования файлов и директорий. Начнем рассматривать расширение «gz». Для создания используется «tar z», и добавляются опции, которые мы уже выполняли, поэтому запомнить команду не составит труда. Команда иметь конечный вид: «tar zcvf compress.tar.gz txt1 txt2»:
Аналогичным образом можно использовать «bz2», но необходимо поправить расширение в конце архива на «.bz2», а также прописать команду «jcvf». Это выглядит как: «tar jcvf compress.tar.bz2 txt1 txt3»:
Хорошей опцией, которая иногда помогает при работе с архивами, является просмотр содержимого архива. Для просмотра с расширением «gz», используется команда «ztvf». Рассмотрим наш созданный архив с помощью команды: «tar ztvf compress.tar.gz»:
С расширением «bz2», аналогичная команда, только вместо опции «z», пишется опция «j», а команда будет выглядеть так: «tar jtvf compress.tar.bz2»:
Перейдем к последнему этапу нашего урока и рассмотрим, как работает распаковка. Для этой цели я создам директорию «gz»:
Теперь необходимо скопировать в созданную директорию сжатый файл «compress.tar.gz»:
Вы уже в принципе должны знать, как распаковывать файлы. Нам понадобится опция «z» — для «gz» файлов, и «x» — чтобы распаковать. Команда такая: «tar zxvf compress.tar.gz»:
Также я могу распаковать какой-либо конкретный файл из архива. Это делается с помощью команды: «tar zxvf compress.tar.gz txt1»:
Те же шаги проделаем и с расширением «bz2». Переходим на директорию выше и создаем новую директорию с именем «bzip»:
На самом деле я не буду копировать файл в эту директорию, а использую опцию «-C», которую мы использовали ранее. Для этого расширения меняется опция на «j». Команда будет выглядеть следующим образом: «tar jxvf compress.tar.bz2 -C bzip/»:
Любопытный момент в том, что мы можем использовать клавишу «Tab», для автозаполнения и если в команде будет прописана опция «j», то при автодополнении у нас автоматически появится расширение «bz2», а если будет опция «z», то дополнится расширение «gz». Очень удобно на мой взгляд.
На этом все, переходите к следующему уроку.