uutils/coreutils

mv Cross-Device Symlink Fallback EEXIST

Closed

#10,010 创建于 2026年1月3日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Rust (23,246 star) (1,852 fork)batch import
U - mvgood first issuereported-canonical

描述

Component

mv

Description

When moving a symlink across filesystems onto an existing destination path, uutils mv fails instead of replacing the destination like GNU mv does.

Test / Reproduction Steps

On filesystem A (e.g. /tmp), create a symlink:
$ ln -s /etc/passwd /tmp/src_link

On filesystem B (e.g. /home), create an existing destination:
$ touch /home/$USER/dst_exists
$ coreutils mv /tmp/src_link /home/$USER/dst_exists
  • GNU: dst_exists has been replaced with src_link.
  • uutils: File exists (os error 17)

Impact

The file move fails instead of overwriting the target directly.

贡献者指南