エラー:一部のフォルダを移動しようとすると、「既に存在するファイルを移動できません」
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
既存のディレクトリとを組み合わせることはできませんmv
。scripts
このエラーメッセージは/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
ソースから正しいファイルが削除されます。- 変数を使用するときは二重引用符を使用してください(そうでない場合は、名前にスペースが含まれているディレクトリはコードを深刻に破損させます)。
cp
GNUがコピーの代わりにリンクを作成するオプションを提供しない場合は十分ですrsync
。pax