• 締切済み

tarを使用してのファイルコピーについて

以下の2種類のコマンドは同じ事をしているように思うのですが、 tarを使用する利点は何かあるのでしょうか? ディレクトリの場合はtarを使用する利点はあると思うのですが、 ファイルの場合何かあるのかなと思い質問させていただきました。 1,  tar cf - foo.backup | (cd /mnt/NAS/backupdir; tar xf -) 2,  cp foo.backup /mnt/NAS/backupdir

みんなの回答

回答No.5

属性も含めてごっそりコピーしたいとき、cp -p を利用するのですが コピーしたいファイルの所有者等が違う場合、話が変わってきます。 cp -p では、所有者も元のままですが tar や pax を利用してコピーした場合 所有者等はすべて実効ユーザーになります。 cp -p してから chown -R してもよいのですがね。 Linuxではそれもままならないので、tarを使用することはよくあります。 というか、cp -p をあまり使わないです。個人的には。。。 # 前述の通り、パーミッションの関係でふべんなんで。

  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.4

現状では、cp -p と差が無いというのはおっしゃる通りだと思います。 tar の -C オプションを使わずサブシェルで cd している事からしても、No3の方の通り、古くから使っているスクリプト、ないし、古いスクリプトをまねたスクリプトだと思います。

noname#208507
noname#208507
回答No.3

> 普段使用しているファイルコピーのスクリプトで、 そのスクリプトは、歴史が長いのではないでしょうか? だとすれば、移植性を高めるためだと思います。 現在はかなり淘汰されましたが、UnixライクのOSは数多く存在しました。たとえば Minix ver.1.5 の cp コマンドには、何とオプションが1つもありません(それでも tar コマンドは存在します)。このような環境でも使えるよう考慮して作られているのでしょう。

  • unacyo
  • ベストアンサー率51% (35/68)
回答No.2

tarを使ったのは大分前なので、記憶が定かではないのですが、ANo1さんの言う日付の他にも、ファイル属性とか、ユーザーグループ/idも復元していたと思います。 cp -pが何か判りませんが、これらをコピーするならば、同じに感じますね。

qwer0216
質問者

お礼

ご回答ありがとうございます。 pオプションはオーナー、グループ、パーミッション、タイムスタンプを保持したままコピーですね。 私が作成したものではないのですが、普段使用しているファイルコピーのスクリプトで、わざわざtarを使ってシェルを書いていたので気になってしまったんですよね。。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

日付?

qwer0216
質問者

お礼

ご回答ありがとうございます。 ということは、cpにpオプションが付いていた場合、やはり結果としては特に違いはないんでしょうか?