相対パスを持つtar

相対パスを持つtar

相対パスを使用してtarを使用してアーカイブを作成してみました。次のコマンドを使用します。

tar czf ~/files/wp/my-page-order.tar.gz -C ~/webapps/zers/wp-content/plugins/ ~/webapps/zers/wp-content/plugins/my-page-order

ただし、アーカイブファイルにはまだ絶対パスがあります。相対パスでtarを使用する方法は?

答え1

~シェルに拡張されました。 -Cで使用しないでください~

tar czf ~/files/wp/my-page-order.tar.gz \
      -C ~ \
       webapps/zers/wp-content/plugins/my-page-order

webapps/zers/wp-content/plugins/my-page-order(tarにはパスが含まれています)または

tar czf ~/files/wp/my-page-order.tar.gz \
      -C ~/webapps/zers/wp-content/plugins \
       my-page-order

my-page-order(tarにはパスが含まれています)

またはcd最初に....

cd ~/webapps/zers/wp-content/plugins
tar czf ~/files/wp/my-page-order.tar.gz my-page-order

答え2

-C new_cwd現在の作業ディレクトリをに変更しますnew_cwd。これにより、次のパラメータがに基づいて評価されますnew_cwd

例:

tar czf ~/files/wp/my-page-order.tar.gz \
  -C ~/webapps/zers/wp-content/plugins/ my-page-order

答え3

GNU以外のソリューションを使用するオプションがtarない場合は、-z次の点に注意してください。

pushd ~/files/wp; tar cvf - my-page-order | gzip > my-page-order.tar.gz && rm -rf my-page-order; popd

編集(埋め込み&&と除くrm):

pushd ~/files/wp && tar cvf - my-page-order | gzip > my-page-order.tar.gz && popd

答え4

ワイルドカードを試してみました*が、絶対パスも提供されたので、後で次のように試しました。

tar -czf ~/clientkeys.tgz -C /etc/openvpn/client/ .

これは絶対パスなしで与えられたすべてのファイルをアーカイブ(圧縮)します。

dot() を使うのがうまくいくようです.。正確な理由がわかりません。答えが役に立つことを願っています。

関連情報