22

Что такое идиоматический способ сделать следующее

  • смола в стандартный вывод
  • прочитайте этот вывод tar из stdout и распакуйте его в другую папку.

Мое решение - tar --to-stdout .. | tar -C somefolder -xvf -

Но может быть, есть более идиоматический способ сделать это.

2 ответа2

28

Та же самая опция -f - работает и для tarring.

tar -cf - something | tar -C somefolder -xvf -

GNU tar по умолчанию использует stdio:

tar -c something | tar -C somefolder -xv

Rsync также популярен.

rsync -av something/ somefolder/
7

Просто добавив еще один вариант использования здесь. У меня была большая структура каталогов в системе, где почти не было места на диске, и я хотел получить файл tar.gz структуры каталогов на другом компьютере с большим количеством места.

tar -czf - big-dir | ssh user@host 'cat > /path/to/big-dir.tar.gz'

Это экономит нагрузку на сеть и означает, что вам не нужно использовать tar с другой стороны, если вы хотите использовать вместо этого rsync для передачи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .