以下を行う慣用的な方法は何ですか
私の解決策はtar --to-stdout .. | tar -C somefolder -xvf -
しかし、それを行うためのより慣用的な方法があるかもしれません。
同じ-f -
オプションは、風袋引きにも使用できます。
tar -cf - something | tar -C somefolder -xvf -
GNU tarはデフォルトでstdioを使用します。
tar -c something | tar -C somefolder -xv
rsyncも人気があります。
rsync -av something/ somefolder/
ここに別のユースケースを追加するだけです。ディスクスペースがほぼ不足しているシステムに大きなディレクトリ構造があり、大量のスペースがある別のマシンのディレクトリ構造のtar.gzファイルを作成したかったのです。
tar -czf - big-dir | ssh user@Host 'cat > /path/to/big-dir.tar.gz'
これにより、ネットワークオーバーヘッドが節約され、転送にrsyncを使用する場合に備えて、反対側でtarを実行する必要がなくなります。