アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の2種類のコマンドは同じ事をしているように思うのですが、
tarを使用する利点は何かあるのでしょうか?

ディレクトリの場合はtarを使用する利点はあると思うのですが、
ファイルの場合何かあるのかなと思い質問させていただきました。

1,
 tar cf - foo.backup | (cd /mnt/NAS/backupdir; tar xf -)

2,
 cp foo.backup /mnt/NAS/backupdir

A 回答 (5件)

属性も含めてごっそりコピーしたいとき、cp -p を利用するのですが


コピーしたいファイルの所有者等が違う場合、話が変わってきます。

cp -p では、所有者も元のままですが tar や pax を利用してコピーした場合
所有者等はすべて実効ユーザーになります。

cp -p してから chown -R してもよいのですがね。
Linuxではそれもままならないので、tarを使用することはよくあります。
というか、cp -p をあまり使わないです。個人的には。。。
# 前述の通り、パーミッションの関係でふべんなんで。
    • good
    • 0

現状では、cp -p と差が無いというのはおっしゃる通りだと思います。


tar の -C オプションを使わずサブシェルで cd している事からしても、No3の方の通り、古くから使っているスクリプト、ないし、古いスクリプトをまねたスクリプトだと思います。
    • good
    • 0

> 普段使用しているファイルコピーのスクリプトで、



そのスクリプトは、歴史が長いのではないでしょうか? だとすれば、移植性を高めるためだと思います。

現在はかなり淘汰されましたが、UnixライクのOSは数多く存在しました。たとえば Minix ver.1.5 の cp コマンドには、何とオプションが1つもありません(それでも tar コマンドは存在します)。このような環境でも使えるよう考慮して作られているのでしょう。
    • good
    • 0

tarを使ったのは大分前なので、記憶が定かではないのですが、ANo1さんの言う日付の他にも、ファイル属性とか、ユーザーグループ/idも復元していたと思います。


cp -pが何か判りませんが、これらをコピーするならば、同じに感じますね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/06/05 15:56

日付?

    • good
    • 0
この回答へのお礼

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

お礼日時:2012/06/05 15:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!