より良いカバー方法は何ですか?

より良いカバー方法は何ですか?

私たちは現在、クラシックplanAを進めています。

どちらが良いか知りたいです。

fileAどちらもfileB存在し、サイズは〜50〜100Mです。

Linux/mac で同じ NFS マウントを想定

これが両方のファイルに存在するオーバーレイであると仮定します。

# planA - we do this way
mv /pathA/fileA /pathB/fileB

# planB
rm /pathB/fileB; mv /pathA/fileB /pathB/fileB

# planB1 - I think is the same as planB, but not sure
unlink /pathB/fileB; ln /pathA/fileA /pathB/fileB

ベストアンサー1

ファイルIOの場合、高価な作業はデータを移動することです。

ファイルシステム内にある場合(ln動作するには必ず必要です)、区別は意味がありません。

それぞれの場合に行われることは、ディレクトリエントリが他のインデックスノードを指すように変更されることです。せいぜいこれは無視できる違いなので、「コマンドがどれだけ早く始まるか」を実際に比較することです。

しかし、一つの注意点があります -最後コマンドは/pathA/fileAそのまま残ります。これはハードリンクなので、両方のディレクトリエントリは同じデータを指します。

これは将来、人々を混乱させる可能性があります。書くfileA、次の場合は1つのことを行います。編集するそれは別の仕事をします。

したがって、単に使用するだけですmv。全体的に、これは大きな違いを生み出さず、実際に達成したいのが最も明確です。

おすすめ記事