tar

linux Конвертировать tar.gz в .ZIP архив -- команда терминала (для всех файлов в папке, bash)

Делаем так:

  1. Переходим в папку (лучше создать отдельную, чтобы ничего не удалилось) где лежит наш архив .tar.gz (или много таких архивов).
  2. Копипастим вот такую команду (копируем целиком и вставляем в терминал):
    for f in *.tar.gz;\
    do rm -rf ${f%.tar.gz} ;\
      mkdir ${f%.tar.gz} ;\
      tar -zxvf $f  -C ${f%.tar.gz}  ;\
      zip -r ${f%.tar.gz}.zip ${f%.tar.gz}  ;\
      rm -rf ${f%.tar.gz} ;\
    done

Как это работает

Как она работает (для каждого файла .tar.gz на уровне папки запуска -- bash скрипт, использующий цикл):

bzip2: (stdin) is not a bzip2 file -- ошибка

Проблема

Ошибка:

bzip2: (stdin) is not a bzip2 file.
tar: Child returned status 2
tar: Error is not recoverable: exiting now

В ответ на команду вроде:

tar -xvf php-5.5.38.tar.bz2

Решение

Определите типа файла, если это не архив, то открыть его не получится.

linux tar Извлечь из архива только содержимое, без основной (родительской) папки -- пример команды. Посмотреть содержимое

Извлечь только содержимое архива

(без папки, в которой все находится)
Для этого необходимо использовать при распаковывании архива опцию:

--strip

вот её описание:

      --strip-components=N   удалять указанное ЧИСЛО
                             начальных компонентов (сегметов пути файла) из
                             имён файлов перед
                             извлечением

Например:

Subscribe to RSS - tar