【UNIX】tarコマンドで任意のディレクトリを展開先として指定する方法

UNIX UNIX
記事内に広告が含まれています。

通常、tar.gzで圧縮されたファイルを「tar xzvf dbdump_20180306.tar.gz」のように指定すると、カレントディレクトリ(現在のディレクトリ)に解凍(展開)されてしまいます。
展開先のディレクトリを任意のディレクトリにしたい場合の方法を備忘録としてポストします。

tarコマンドで展開先を指定する際は C オプション を使う!

(失敗)オプション無しで展開先を指定する

まずは失敗する方法。
下記のディレクトリ中にDBのダンプファイルがあるとします。

/var/www/yamada-develop/public_html/db_dump

展開元ファイルのディレクトリへ移動後に /var/www/hoge/tmp/ へ直接展開しようとすると、以下のようになってしまいます。

(成功)C オプション付きで展開

ここでCオプションの登場です。
来生ファイル名の後に -C オプションと展開先を指定すればエラーは出ません。

Cオプションを使わない方法

Cオプションを使わない場合は、展開したいパスへカレントディレクトリ(現在のディレクトリ)を移動させてから、展開元のファイルを絶対パスで指定すれば、展開可能です。

発想の転換ですね。

関連するかもしれないポスト

Apacheの再起動にはWebサービスを終了させずに設定変更を反映する「graceful」を使うべき
Apacheの再起動にはWebサービスを終了させずに設定変更を反映する「graceful」を使用すべきな理由を解説します。
UNIX
スポンサーリンク
toogieをフォローする
タイトルとURLをコピーしました