• ベストアンサー

tarの-uと-rの違い

tarの-uと-rどちらのコマンドも同名のファイルがある場合、ファイルが上書きされ、同名のファイルがない場合、追加されます。 動作の違いがわかりません。 ご存知の方がいらっしゃいましたら教えていただけるとありがたいです。

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

  • ベストアンサー
  • 774danger
  • ベストアンサー率53% (1010/1877)
回答No.1

-r Like -c, but new entries are appended to the archive. Note that this only works on uncompressed archives stored in regular files. The -f option is required. -u Like -r, but new entries are added only if they have a modifica- tion date newer than the corresponding entry in the archive. Note that this only works on uncompressed archives stored in reg- ular files. The -f option is required. タイムスタンプで動作が変わりますね

その他の回答 (1)

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

-r はappendなのでtarファイルの末尾に無条件で追加していきます。 -u はupdateで、すでに同名のファイルがある場合、タイムスタンプが新しいときだけtarファイルの末尾に追加します。 どちらも上書きされるわけではありません。-t で一覧を見ると同名のファイルが追加した個数だけあるのがわかると思います。 展開すると、展開先の場所では、同名のファイルは上書きされるので、最後のファイルだけ残ることになります。

関連するQ&A

  • tarでフォルダに上書き

    お世話になります。 どうか、教えてください。 linux系OSでtar.gzファイルを展開したときに、展開先に 同名のディレクトリがあるときに無条件で上書きするように したいのですが、コマンド一発で展開する方法はありますか? ご存知のかたお願いいたします。

  • tarに関する問題

    前もって作成されたtarファイルにファイルを追加したいと考えています。 より新しいファイルと既存のファイルを交換したいと考えています。 という問題があり、-u.switchを持つtarコマンドを利用する というのが解答ですが、この-u.switchというのが参考書を見ても見当たらないのですが。 これは間違えなのですかね。 回答のほどよろしくお願い致します。

  • tar を用いてテープにバックアップ

    tarコマンドを用いてテープにバックアップを行おうと思います。 以下のコマンドを実行しようと思います。 1. tar cvf /dev/rmt/0mn ./dirA* 2. tar cvf /dev/rmt/0m ./dirB* 仮に2行目のコマンドを以下の2'に変更した場合バックアップの取り方に違いはありますか? 2'. tar rvf /dev/rmt/0m ./dirB* また、tar のオプションでrの追記を用いた場合、 tarコマンドの実行はテープのどの位置で変更を行っても実行結果に違いはないのですか? tarコマンドとテープについていろいろと調べたのですが、どうしても分かりません。どうぞよろしくお願いします。。

  • jdk-8u141-linux-x64.tar.g

    jdk-8u141-linux-x64.tar.gz いつも教えてもらってばかりで恐縮です。 標記の件。 上記のtar.gzファイルがEclipse4.7と上手く行くように したいのです。 コマンドはどうやって解凍すればいいでしょうか? ご多忙中申し訳ありません。 何卒、ご回答の程、宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • *.tar.gzのファイルをダウンロードすると*.tar.tarになってしまいます。

    インターネット上のあるサイトから、*.tar.gzという拡張子のファイルをインターネットエクスプローラーからダウンロードしようすると、ファイル保存のダイアログで「*.tar.tar」というファイル名になってしまいます。 ダウンロードの際、しくは、ダウンロードしたあとに、「*.tar.gz」に名前を変えれば、gzipで解凍して、tarコマンドで分解できるのですが、なんで拡張子が変わっちゃうかわかりません。 私の周りのパソコンを見ると、こうなるPCもあれば、ならないPCもあります。 確認したPCは全部WindowsXPで、SP1もSP2もありますが、SP1だから、とか、SP2だからということはありません。 世の中的には、どうもこれは当たり前?の事象のようで、メーカーサイトのダウンロードページなどには、ダウンロードの際の注意書きとして、このような事象があることが書いている場合がありました。 ということはしょうがないのかなとも思うのですが、対処方法とかあるのなら知りたいと思い、質問させていただきました。 ご存知の方、いらっしゃいましたらよろしくお願いいたします。

  • tar コマンドで

    tar コマンドの r オプションを使ってファイル名が同じものを一つのアーカイブに圧縮しました。 以下、t オプションで確認。 ---------------------------------------------- [root@localhost xxx]# tar tf tarFILE.tar file01 file01 ---------------------------------------------- この内、上の[file01]には"変更前"と記述されていて、 下の[file01]には"変更後"と記述されています。 x オプションでファイルを取り出すと、"変更後"と記述されている[file01]が 抽出できますが、"変更前"と記述された[file01]を取り出す場合にはどうすればよいでしょうか? RHEL 5.6です。 ご回答お願いします。

  • tar.gzと.tar.gpの違いは何ですか?

    tar -cvzf を使ったアーカイブ・圧縮の指定なのですが、指定するファイル名に hogehoge.tar.gz という場合と、 hogehogetar.gz という場合、 これは、何が違う事となるのでしょうか? tarの前に.ドットがあるか無いかなのですが・・・。 それぞれ試してみると、ドットなしの方が仕上がったファイル容量が少なくなっています。 展開した場合、中身は同一に思えました。 お詳しい方いらっしゃいましたら、アドバイスの程宜しくお願いします。

  • tarコマンドを用いてバックアップ

    非常に困っています。 tarコマンドを用いてテープにバックアップを取ろうと思っています。しかし、tarコマンドには2GB以上のアーカイブを作れないという仕様上の制約があります。 仮に以下のようなコマンド操作を行ったとします。 tar cvf /dev/rmt/0m FILE1 FILE2 FILE3; FILEA FILEB FILECはいずれも1GBとし、計3GBのバックアップを取るものとする。 この場合バックアップできるのでしょうか? また、どこかのサイトにこの事が載っているのでしょうか? 片方だけでも分かる方よろしくお願いします。

  • tarコマンドについて

    Solaris 8 です。 tarコマンドのヘルプを表示するにはどうしたらいいのでしょうか。 またtarコマンドが利用可能かを調べる事はできますか。 実際にtarファイルを解凍して調べる以外でアドバイス下さい。 宜しくお願いします。 失礼します。

  • tarコマンドでDATをフルに使うには

    EWS450上でtarコマンドによるDATへのバックアップをしようとしたのですが、うまくいきません。 tar -cvf /dev/rsmt/c1t4d0hn /home/backup/* これを実行すると非圧縮時12GB入る筈のDATなのに1GB近くでコマンド実行が中断されてしまいます。バックアップ対象は3GB前後なので十分入る筈なのですが……? 今度は/etc/default/tarファイル内のarchive0の行を archive0=/dev/rsmt/c1t4d0hn 12000000 20 として tar -cv 0 /home/backup/* として実行してみるつもりなのですが、これでうまくいくのでしょうか?いかない場合はどうするべきでしょうか? man tarによれば-rオプションで新規作成ではなく追加記入モードに出来る(ただし8mm、CGMTでは不可)との事なのですがDATだと出来ないので一括してやるしかなく、結局無駄に時間ばかりかかってしまっています。