mv:「ファイルが存在します」を移動できません。

mv:「ファイルが存在します」を移動できません。

エラー:一部のフォルダを移動しようとすると、「既に存在するファイルを移動できません」

export BACKUP_DIR=/backup
mv -f $BACKUP_DIR/scripts $BACKUP_DIR/scripts_old

エラーが発生しました:

mv: cannot move '/backup/scripts' to '/backup/scripts_old/scripts': File exists

そのオプションを試してみましたが、-fオプションなしで使用しても同じでした。同じエラーが発生しました。これはどのように移動できますか?

ありがとうございます!

ベストアンサー1

既存のディレクトリとを組み合わせることはできませんmvscriptsこのエラーメッセージは/backup/scripts_old

しかし、できることは、ファイルをコピー/リンクしてからソースからリンクされたファイルを削除することです。このソリューションにはGNU(非POSIX)が必要で、cpソースとターゲットが同じファイルシステムにある場合にのみ機能します。

BACKUP_DIR=/backup
cp -al "$BACKUP_DIR"/scripts/. "$BACKUP_DIR"/scripts_old/scripts
find "$BACKUP_DIR"/scripts -type f -links 2 -print

ノート

  • .ソースの末尾のポイントのコピー()必須です
  • -print満足のいくものに変更すると、-deleteソースから正しいファイルが削除されます。
  • 変数を使用するときは二重引用符を使用してください(そうでない場合は、名前にスペースが含まれているディレクトリはコードを深刻に破損させます)。
  • cpGNUがコピーの代わりにリンクを作成するオプションを提供しない場合は十分ですrsyncpax

おすすめ記事