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

5

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

Archive -> Save As -> (select the extension) -> Save

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

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

    
задан Rohith Madhavan 04.01.2015 в 14:51
источник

2 ответа

4

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

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

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

$ zip -rmp password ../archive.zip *

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

Сделайте SURE / VERIFY, вы все еще находитесь в tempdir /

$ pwd
.../tempdir

Если в конце есть что-то еще, кроме «/ tempdir»,
затем НЕ продолжайте с тем, что будет дальше, здесь:

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

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

$ tar -zxvf ./archive.tar.gz - | zip -p password - ./archive.zip 

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

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

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

    
ответ дан Hannu 04.01.2015 в 16:12
источник
2

Вы можете использовать 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

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

    
ответ дан coderaiser 05.11.2016 в 11:01