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