• ベストアンサー

tarでの解凍について

tarでの解凍ですが、 /abc/ がカレントディレクトリで /abc/efg/hij.tgz を /abc/xyz/ に解凍したい場合、 どのように書けばいいのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#39970
noname#39970
回答No.1

単にxyzに移動してtarでは? batchでやってるのを見た事がある場合はリストを作るなりしてリストのディレクトリへ移動して戻る、ってやってるだけだとおもう

urourojp
質問者

補足

サイトはXREAなのですが、シェルスクリプト(バッチファイル?)置ける 場所が制限されているようで、xyzに移動してtarはできないのです。 でも、tarで解凍した後にmvしてやればいいような気がしてきましたので それで書き直してみます。 ありがとうございました。

その他の回答 (3)

  • mtfoggy
  • ベストアンサー率14% (37/255)
回答No.4

>それができるのであればね。(笑) 笑っているヒマがあったら、覚えてできるようになりましょう。

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.3

#2さんに賛成ですが、念のため (1) 初心者にもわかりやすく応用の効く方法 ( cd xyz; tar xvfz ../efg/xij.tgz ) 括弧で囲めば中のコマンド実行後、元のディレクトリに戻る (2) gnu tar の -C オプションを利用 tar xvfz efg/hij.tgz -C xyz

  • mtfoggy
  • ベストアンサー率14% (37/255)
回答No.2

人に相談しないと解凍できない初心者なら、 /tmpなどで解凍して、目的ディレクトリに移動したほうが安全です。

urourojp
質問者

補足

> /tmpなどで解凍して、目的ディレクトリに移動したほうが安全です。 それができるのであればね。(笑)

関連するQ&A

  • tarコマンド

    tar zxvf XXX.tar.gz 上記コマンドを実行するとカレントディレクトリに XXXディレクトリが作成され、その中にファイルが展開されるかと思います。 このXXXディレクトリの名前をSSSとして解凍したいのですが、できますでしょうか?

  • tzgが解凍できない

    centos6でやってます。 mondo rescueで必要なkernelを使うために このサイトからダウンロード、、、 ftp://ftp.mondorescue.org/src/ ■mindi-kernel-2.6.tgz これを/otamesi にコピー(移動)して 解凍コマンドをやったのですが解凍できませんでした。 参考サイト http://linux.kororo.jp/cont/intro/comp_ext.php ○自分で入れたコマンド tar -xzvf /otamesi/mindi-kernel-2.6.tgz そうすると以下の様なエラーです。 ■ tar (child): /otamesi/mindi-kernel-2.6.tgz: open 不能: そのようなファイルやディレクトリはありません tar : Child returned status 2 tar : Error is not recoverable: exiting now ■ gzipやtarやafio等は入ってますが 他にも解凍に必要な前提条件でもあるのでしょうか?

  • tar

    Linuxのtarコマンドで同一ディレクトリに解凍するコマンドは何でしょうか?

  • UNIXのtarコマンドについて

    tarコマンドで以下の様に指定して、カレントディレクトリ配下のファイルのみをアーカイブしたいのですが、カレントディレクトリ自身の情報もアーカイブされてしまいます。ファイルのみをアーカイブすることは出来ないでしょうか?よろしくお願い致します。 tar cvf (tarファイル名) -C (ディレクトリ名) .

  • tar解凍でパス名を無しにする方法

    Windowsのtar.exeでも、Unix系のものでも良いのですが、 tarで解凍する際に、パス名を付けず、素のファイル名だけで 解凍する方法はありますか? 例えば、 > tar tvf test.tar -rw-rw-r-- 13 2006-03-09 14:19:39 ./file4 drwxrwxr-x 0 2006-03-09 14:16:20 dir1/ drwxrwxr-x 0 2006-03-09 14:19:12 dir1/dir12/ -rw-rw-r-- 15 2006-03-09 14:19:10 dir1/dir12/file1 drwxrwxr-x 0 2006-03-09 14:16:32 dir2/ drwxrwxr-x 0 2006-03-09 14:16:33 dir2/dir21/ drwxrwxr-x 0 2006-03-09 14:19:19 dir2/dir21/dir211/ -rw-rw-r-- 14 2006-03-09 14:19:17 dir2/dir21/dir211/file2 drwxrwxr-x 0 2006-03-09 14:19:32 dir2/dir21/dir212/ -rw-rw-r-- 25 2006-03-09 14:19:30 dir2/dir21/dir212/file3 となっているときに、このtest.tarを何らかの方法で解凍して、 1箇所のディレクトリ内(カレントで可)に、 file1~file4 を解凍させたいのですが、 何か方法があるでしょうか? よろしくお願いします。

  • tarコマンドで

    ログインしたユーザーのホームディレクトリがカレントディレクトリで、 tar -cvf /dev/hda . というコマンドを実行した場合は、ユーザのホームディレクトリのすべてのファイルを新しくアーカイブしてhdaに書き出すという意味で良いのでしょうか?

  • tar.gzが解凍できない。

    古いPCにVineLinux2.1.5を入れました。PCのSPEC上、これしか入りませんが、家庭内LANのみでLinux練習用です。Apache2.0.50を手持ちのCDから「/tmp」にコピーし、「$ ls /tmp」 で確認すると、httpd-2.0.50.tar.gz が出来ています。ところが、 $ tar zxvf httpd-2.0.50.tar.gz[Return] とすると、 「そのようなファイルやディレクトリはありません」 tar(子プロセス)エラーを回復できません:直ちに終了します。 tar:子プロセスがステータス2を返してきました。 tar:エラー終了が前のエラーから遅れました。 とのメッセージが出て、解凍できません。 「/」にコピーし直したり、ユーザー権限をroot権限に変えたりしてTryしても、同じエラーメッセージが出ます。 原因は何でしょうか? どうすれば解決できるでしょうか? 古いバージョンのlinuxで恐縮ですが、もし、何か解決のヒントをお持ちの方がおられましたら、よろしくお願い致します。

  • UNIX(Solaris)でのtarファイルの解凍エラー

    AというUNIX(Solaris)でtar cvf で固めたフォルダ階層を別のBというUNIX(Solaris)でtar xvfで解凍すると、 tes, 7 テープブロック tar: ディレクトリの検査合計エラーです というエラーメッセージがコンソールに出力されます。 これは、Solarisじゃない別のOSから持ってきた場合に出力されるという話は聞いたことがあるのですが、同じSolarisで圧縮したものを解凍してもでるのでしょうか? どのような条件下で出力されるエラーかご存知方がいらっしゃいましたらご教授のほどお願いいたします。

  • tarで圧縮したファイルの解凍時の保存先指定

    こんにちは、tarについてご教授ください。 tar czvf /home/hoge/test.tar.gz /home/hoge/testdir ↑の様に圧縮したとします。 これを同じ場所に解凍したいのです。 /home/hoge/test.tar.gz を /home/hoge/ のディレクトリの中から下記の様に解凍します。 tar zxvf /home/hoge/test.tar.gz すると、/home/hoge/home/hoge/testdir/ に解凍されてしまいます。 試しに tar zxvf /home/hoge/test.tar.gz / と言う感じに指定できたら、問題解決なんですが・・・これはできませんでした。 /に移動してからコマンドを発行ということも訳あってできません。 というのもPHPのプログラム上からsystemコマンドで圧縮と解凍をしているのですが、 解凍すると、PHPがあるディレクトリからの相対パスに解凍されてしまいます。 指定した場所に解凍するということはできませんでしょうか? tar --help でみてみたのですが、それらしきオプションは探せませんでした。 zipはまだ使ったことありませんが、こちらを使った方がサーバーへの負荷や扱いやすさでは上なのでしょうか? ご教授お願い致します。

  • tar(*.tgz)ファイルの解凍の際に「ディレクトリは状態を展開でき

    tar(*.tgz)ファイルの解凍の際に「ディレクトリは状態を展開できるようになる前に名前を変更されました」というエラーが出ます。 Linuxマシンでのバックアップをtarファイルにしました(20GB)。そして、そのtarファイルを、Win7マシンに接続しているUSBハードディスク(NTFS)にコピーして展開しました。ただし、展開の際には、win7上にVMwareをインストールして、仮想マシンとしてubuntsuを走らせ、ファイルの共有でUSBハードディスクを読み書きしています。その際、以下のようなエラーが出て終了しました。 ------------------------- tar: AAA/BBB/dir1/dir2: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: AAA/BBB/dir1: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: AAA/BBB/dir3: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: AAA/BBB: ディレクトリは状態を展開できるようになる前に名前を変更されました tar: 前のエラーにより失敗ステータスで終了します -------------------------- 調べたところ、 AAA/BBB/dir1/dir2とAAA/BBB/dir3の中には、Linuxマシン上での他の場所に向けてシンボリックリンクファイルがあることがわかりました。 tarは、シンボリックリンクは無視すると思っていたのですが、このようなエラーがシンボリックリンクが原因で出ることがありえますか?それとも、他の原因でしょうか?