次のエラーが報告されないように、cp(GNU coreutils)に指示できますか?
$ echo 1 > foo
$ cp foo foo
現在、レポートには次のように記載されています。
cp: 'foo' and 'foo' are the same file
これは非常に合理的ですが、常に間違っているわけではありません。概念的に、$source
からファイルをコピーする場合、$dest
既にそのディレクトリに存在する場合、既定では、コピー$dest
は既に構成を介して実行されます。状況によって異なる、これが必ずしもエラーとして報告されるわけではありません。マニュアルページに関連するコンテンツが見つかりません。この--update
オプションはうまくいくようですが、うまくいきません。
明らかに、いくつかの方法でこの問題を解決できますが、cpがすぐにこの問題を解決できるかどうか疑問に思います。
ベストアンサー1
これはGNU coreutils(coreutils 8.27以降)では不可能です。これは文書に記載されていません。ソースコード文書化されていない方法は表示されません。同じファイル性テストは、ハードリンクが作成された場合、またはファイルが同じ宛先を指すシンボリックリンクである場合にのみ許可されます。
Rsyncはこれを可能にするので、簡単な解決策rsync
はcp
。