mv コマンドは、存在しない多くのファイルに使用されます。ターゲットディスクが磨耗していますか?

mv コマンドは、存在しない多くのファイルに使用されます。ターゲットディスクが磨耗していますか?

/ramdiskから通常の/ssdに多くのファイル(毎分約10,000個)を継続的に移動しようとしていますが、すべてのファイルがそこにあるわけではありません。

ソースが存在しないために失敗した場合は、ターゲットmv /ramdisk/file55 /ssd/file55に何かを書き込もうとしますか?

ほとんどのファイルが/ ramdiskに保存される理由は、ターゲットSSDが磨耗しているのではないかと心配されているからです。

ベストアンサー1

この質問に答える唯一の方法は、ソースコードを調べることです。実装は異なる場合があります。

特に、mv私はあなたが以下を言及していると仮定します。GNU Coreutils

mvコードの微妙な違いをすべて理解したかどうかはわかりませんが、次のことがわかります。

  • 関数のsrc/mv.c1つdo_move(const char *source, const char *dest, const struct cp_options *x)はですmv。この関数はという別の関数を呼び出しますcopy
  • で呼び出される関数は、src/copy.c基本的に呼び出される他の関数を囲むラッパーです。copydo_movecopy_internal
  • 関数の上部からソースファイルにcopy_internalアクセスしようとします。stat失敗すると、何もせずに終了します。

したがって、次のように答えるのは安全だと思います。

存在しないファイルにアクセスしようとすると、さまざまなスキャンに合格するまでmvターゲットには影響しません。

おすすめ記事