tar を使用したディレクトリのコピー (node_modules サブディレクトリを除く)

tar を使用したディレクトリのコピー (node_modules サブディレクトリを除く)

tarnode_modulesサブディレクトリを除いて、Bashスクリプトからプロジェクトディレクトリを別の場所にコピーする方法を理解したいと思います。役に立つコメントを投稿しました。ここ、私のユースケースに合わせて、次のように書き直しました。

tar -cf - --exclude="node_modules" "${source}" | tar -xf - -C "${target}"

しかし、私はこれについていくつかの事実がわかるまで、このコマンドを実行することを消極的にします。私の質問は次のとおりです -

  1. --exclude前に別々のハイフンと前に別々のハイフンを使用する目的は何ですか-C
  2. .tarファイルは実際にファイルシステムのどこかに作成されましたか?では、名前はどこにありますか?

ベストアンサー1

  1. -多くのユーティリティは、状況に応じて引数を標準入力/出力として定義し、GNUの場合、tar入力/出力用のデフォルトファイルがstdioであるため、これは必要ありません。したがって、アーカイブは実際にはパイプである標準出力に書き込まれtar -cf - --exclude="node_modules" "${source}"tarもう一方の端はtar -xf - -C "${target}"抽出された標準入力として次のコマンドに提供されます。
  2. パイプラインでは、標準出力はファイルにリダイレクトされないため、tar実際にはアーカイブは生成されません。

おすすめ記事