リンク参照でbashコピーファイル

リンク参照でbashコピーファイル

次の構成を考慮すると、次のようになります。

../dir1/file1
../dir2/link-to-file1
../dir2/fileX

fileXを../dir1/file1にコピーしたいが、次のようにすれば:

dir2$ cp fileX file1

それから

dir2/file1もはやfile1へのリンクがないので、file1とfileXは別のファイルです。

これを行うオプションはありますかcp?それとも別のタスクを使用する必要がありますか?

修正する

ディレクトリ2に

dir2$ ln -s ../dir1 (this creates link to dir1)
dir2$ cp fileX dir1

しかし、リンクからファイルをコピーする方法はありますか?

ベストアンサー1

fileXを../dir1/file1にコピーしたいが、次のようにすれば:

dir2$ cpファイルXファイル1

次に、期待どおりに正しいターゲットディレクトリを使用します。dir2 $ cp fileX ../dir1/file1

編集する:

dir2$ cp -L fileX file1

または

dir2$ cp fileX $(readlink file1)

これにより、次の動作が発生します。

before:
dir1/file1
dir2/file1 -> ../dir1/file1
dir2/fileX

after:
dir1/file1 (with content of fileX)
dir2/file1 -> ../dir1/file1
dir2/fileX

おすすめ記事