OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

tar->gzipの中間ファイル未作成方法ってあります?

  • 困ってます
  • 質問No.110086
  • 閲覧数3901
  • ありがとう数6
  • 気になる数0
  • 回答数8
  • コメント数0

お礼率 61% (92/150)

ワークステーションで作業してます。
バックアップをとったり、ftpするときによく
tarしてgzipするのですが、tarからgzipって"|(パイプ)"で
単純につなげないのでいつも、コマンドを一つずつ実行するので
大きな中間ファイルができてしまいます。

中間ファイルを作らずにtar/gzipが一括で行えるコマンドの記述を
知ってる方、是非教えて下さい。ちなみに解凍方法も・・・
通報する
  • 回答数8
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.7
レベル12

ベストアンサー率 40% (237/589)

No.5 補足への回答です。
逆(解凍)は、以下のようにすればできます。
  gzip -dc xxxxx.tar.gz | tar xf -
  (gzip -dc の代わりに gunzip -c または zcat でも可)

同じように、「xf -」とは「tar の入力を標準入力から得る」ための指定です。

どうも tar コマンドについて体系的に理解されてないようなので、一度
man tar をじっくり読まれてはいかがですか?
(他にも p とか m とか関連オプションがあるのですが、ここでは省略します)
お礼コメント
lts107

お礼率 61% (92/150)

再度、解説有難う御座います。

大変役に立ちました。
今度、manでじっくり見てみます。
投稿日時 - 2001-07-27 17:57:51
-PR-
-PR-

その他の回答 (全7件)

  • 回答No.2
レベル13

ベストアンサー率 37% (419/1115)

>「回答」→「解凍」 です。(^_^; 恥ずかしー。(#^_^#) そうそう、私が的を外しているかもしれないと思ったのはOSが明記されていないためです。 出来るだけ早く正解を得たいのなら環境等は明記した方が良いですよ。
>「回答」→「解凍」

です。(^_^;
恥ずかしー。(#^_^#)

そうそう、私が的を外しているかもしれないと思ったのはOSが明記されていないためです。
出来るだけ早く正解を得たいのなら環境等は明記した方が良いですよ。
  • 回答No.1
レベル13

ベストアンサー率 37% (419/1115)

tar -cvzf 圧縮ファイル名 対象ファイル名 ・・・ では駄目でしょうか? -cvzfが駄目だったら「-」を外してやってみてください。 尚、上記の「圧縮ファイル名」は圧縮後のファイルの名前、「対象ファイル名 ・・・」は圧縮するファイルのリストです。 逆に回答するときは「xvzf」オプションを使用します。 ...続きを読む
tar -cvzf 圧縮ファイル名 対象ファイル名 ・・・

では駄目でしょうか?
-cvzfが駄目だったら「-」を外してやってみてください。
尚、上記の「圧縮ファイル名」は圧縮後のファイルの名前、「対象ファイル名 ・・・」は圧縮するファイルのリストです。
逆に回答するときは「xvzf」オプションを使用します。
補足コメント
lts107

お礼率 61% (92/150)

有難う御座います。
私の環境はUNIX(Solalis2.6)です。

よく分かりませんが、オプションに"z"がないみたいです。
"z"って無いこともあるんですかねぇ~?

ご存知でしたら、ご教授ください。
投稿日時 - 2001-07-27 12:41:04
  • 回答No.3
レベル12

ベストアンサー率 41% (324/772)

GNU tarであればzオプションがあります。 ...続きを読む
GNU tarであればzオプションがあります。
補足コメント
lts107

お礼率 61% (92/150)

有難う御座います。

初心者でGNUというのがよく分かりません。
私のOS:Solalis2.6はそれに含まれるのでしょうか?

ちなみに、manでtarを調べても"zオプション"
らしきものは見当たりませんでした。

新たに、情報ありましたらご教授願います。
投稿日時 - 2001-07-27 12:46:17
  • 回答No.4
レベル7

ベストアンサー率 46% (7/15)

ワークステーションと言うことで、OSが何か??解りませんが、 GNUのtarを使っているのでしたら・・・ tar cvfpz 圧縮ファイル名 圧縮するファイル名 ex. # tar cvfpz hogehoge.tgz hogehoge で出来ます。一度、man tar してみたらどうでしょうか?? ...続きを読む
ワークステーションと言うことで、OSが何か??解りませんが、
GNUのtarを使っているのでしたら・・・

tar cvfpz 圧縮ファイル名 圧縮するファイル名

ex.
# tar cvfpz hogehoge.tgz hogehoge

で出来ます。一度、man tar してみたらどうでしょうか??
補足コメント
lts107

お礼率 61% (92/150)

有難う御座います。

初心者でGNUというのがよく分かりません。
私のOS:Solalis2.6はそれに含まれるのでしょうか?

ちなみに、manでtarを調べても"zオプション"
らしきものは見当たりませんでした。

また、オプションpは何を意味するのでしょう?
ご教授願います。
投稿日時 - 2001-07-27 12:52:21
  • 回答No.6
レベル13

ベストアンサー率 37% (419/1115)

naturalです。 補足有り難うございます。 zオプションはGNUのtarで使えますのでGNU tarを入れる必要があります。 ダウンロード先が判らなかったので明記できませんが、Solaris2.6に対応したバージョンが有るはずです。 尚、そこまでするのは面倒、という場合はysk6406さんの仰っている方法でなさった方が手っ取り早いですね。 ...続きを読む
naturalです。
補足有り難うございます。
zオプションはGNUのtarで使えますのでGNU tarを入れる必要があります。
ダウンロード先が判らなかったので明記できませんが、Solaris2.6に対応したバージョンが有るはずです。
尚、そこまでするのは面倒、という場合はysk6406さんの仰っている方法でなさった方が手っ取り早いですね。
お礼コメント
lts107

お礼率 61% (92/150)

再度、解説有難う御座いました。
投稿日時 - 2001-07-27 17:55:16
  • 回答No.5
レベル12

ベストアンサー率 40% (237/589)

まず、「tarからgzipって"|(パイプ)"で単純につなげない」ことはありません。 単に、tar cf - (取りたい場所) | gzip > xxxxx.tar.gz とすればOKです。 (私のところでは、昔からこのやり方で tar→gzip しています。) 一応解説しますと、「tar cf -」というのは「tar の出力を、ファイルではなく 標準出力に流せ」とい ...続きを読む
まず、「tarからgzipって"|(パイプ)"で単純につなげない」ことはありません。
単に、tar cf - (取りたい場所) | gzip > xxxxx.tar.gz とすればOKです。
(私のところでは、昔からこのやり方で tar→gzip しています。)

一応解説しますと、「tar cf -」というのは「tar の出力を、ファイルではなく
標準出力に流せ」という指定です。

また、ワークステーションということで UNIX を使っているという前提で言えば、
パイプで繋いだコマンドは一つずつではなく同時に実行され、その間はメモリ経由で
データが渡されるので、中間ファイルが作られることはありません。
補足コメント
lts107

お礼率 61% (92/150)

有難う御座います。

"tar cf - (取りたい場所) | gzip > xxxxx.tar.gz "
でできました。

"-"の存在を知れたのがとても嬉しいです。
で、申し分け無いのですがこの逆の
一括解凍も教えて頂けないでしょうか?

宜しくお願いします。
投稿日時 - 2001-07-27 12:54:41
  • 回答No.8
レベル7

ベストアンサー率 46% (7/15)

NO.4の補足です。 「p」オプションですが、圧縮する時には必要ありませんでした。(_O_) 解凍する時に、「p」オプションを付けると、圧縮時のパーミッション 情報、ユーザー情報などをそのままで解凍します。 man tar に書いてありますので、読んでみて下さい。 で、OSがSolarisと言うことで、現在使っているSolarisマシンで調べたところ、GNU の tarを入れていました。 ...続きを読む
NO.4の補足です。
「p」オプションですが、圧縮する時には必要ありませんでした。(_O_)
解凍する時に、「p」オプションを付けると、圧縮時のパーミッション
情報、ユーザー情報などをそのままで解凍します。
man tar に書いてありますので、読んでみて下さい。

で、OSがSolarisと言うことで、現在使っているSolarisマシンで調べたところ、GNU の tarを入れていました。
もし、インストールする場合は、適当なFTPサーバから、GNU tar を取ってきて

# zcat tar-1.13.tar.gz | tar xvf -
# cd tar-1.13/
# ./configure
# make
# make install

とすれば、OKです。CPUパワーにもよりますが、時間的には、3分位でできる
と思います。また、/bin/tar と区別したければ、

# mv /usr/local/bin/tar /usr/local/bin/gtar

とすればOKだと思います。
私は、逆に、/bin/tarを/usr/local/bin/tarにシンボリックリンクしちゃっています。(^^;;
お礼コメント
lts107

お礼率 61% (92/150)

再度、解説有難う御座いました。

とりあえずysk6406さんの方法でできましたので
時間があるときにGNUをインストールしてみたいと思います。
投稿日時 - 2001-07-27 18:00:14
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ