Преобразование из одного типа архива в другой с помощью CLI

Если определенный тип архива необходимо преобразовать в другой формат (например, - tar.gz в zip), тогда можно открыть архив, используя file-roller и перейти к -

Архив -> Сохранить как -> (выберите расширение) -> Сохранить

Кроме того, в этом методе другие параметры могут быть использованы для установки пароля для zip файл, что невозможно в случае tar.gz файлы, использующие file-roller,

Как можно выполнить вышеуказанные шаги с помощью командной строки?

2 ответа

Решение

Основные команды оболочки:

$ cd $ HOME
$ mkdir tempdir
$ cd tempdir
$ tar -zxvf../archive.tar.gz 

На данный момент у вас есть копия содержимого archive.tar.gz в $ HOME / tempdir /

$ zip -rmp пароль../archive.zip *

... создаст zip-архив из содержимого tempdir / и затем удалит добавленные файлы. Я предполагаю, что это все еще делает; use standard (weak) PKZip 2.0 encryption как указано для -e опция - которая не берет пароль, но вместо этого запрашивает его.

УБЕДИТЕСЬ / ПРОВЕРЬТЕ, что вы все еще в tempdir /

$ pwd... / TEMPDIR

Если в конце выше есть НИЧЕГО, кроме "/ tempdir",
тогда НЕ продолжайте с тем, что будет дальше, здесь:

$ rm -rf *  
$ cd ..
$ rmdir tempdir

Все вышеперечисленное также возможно с помощью трубы, например:

$ tar -zxvf./archive.tar.gz - | zip -p пароль -./archive.zip 

... Я не вижу причин испытывать это из-за слабого шифрования и возможных проблем с тем, как zip обрабатывает специальные файлы, ссылки и еще много чего.

Если вы хотите настоящее шифрование, посмотрите на gnupg и связанные утилиты вместо.

man tar, man zip, zip --help, zip -h2 | less, tar --help | less может содержать информацию, жизненно важную для вышеизложенного, особенно конверсию, которую я не пробовал.

Вы можете использовать tar-to-zip для этой цели. Все, что вам нужно сделать, это:

Установите node.js с помощью nvm, если у вас его нет.

А затем установить tar-to-zip с:

npm i tar-to-zip -g

И используйте его с:

tar2zip hello.tar.gz

Он покажет процент выполнения операции и создаст файл hello.zip в том же каталоге.

Трубы также могут быть использованы:

cat hello.tar.gz | tar2zip > hello.zip

К сожалению, нет способа установить пароль.

Другие вопросы по тегам