Преобразование из одного типа архива в другой с помощью 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
К сожалению, нет способа установить пароль.