Linux "cp"は、ターゲットファイルの代わりにシンボリックリンクをコピーします。

Linux

私のディレクトリには、テキストファイルとテキストファイルを指すシンボリックリンクという2つのファイルがあります。

base_v21.txt -> base_v001.txt
base_v001.txt

base_v001.txt次のコマンドを使用してコピーしようとすると:

# cp base_v001.txt /targetdir

base_v001.txtコピーされたのではなく複製されbase_v21.txtました。

# ls /targetdir
base_v21.txt

そのため、コピーするファイルをフルファイル名で指定してもシンボリックリンクがコピーされます。

-Lシンボリックリンクを使用したり逆参照したりするための投稿を見たことがありますが、-Hシンボリックリンクではなくターゲットファイル自体をコピーしようとしているので、私の場合は実際には適用されません。

シンボリックリンクとターゲットファイルが同じディレクトリにある理由については、私は制御できません。

ベストアンサー1

この試み、

目的地を見てみましょう/tmp/

代わりにターゲットファイルをコピーするには、次の手順を実行しますsymlink

readlink -ne base.txt | xargs -0 cp -t /tmp/

おすすめ記事