mv - 移动目录,目标目录与源目录有相同的子目录

mv - 移动目录,目标目录与源目录有相同的子目录

在 FreeBSD 中(我认为它在这方面的工作方式与 Linux 等类似),我想移动src_parent/mydirdst_parent/mydirdst_parent/mydir已经存在,并且它包含一些也包含在 中的子目录src_parent/mydir。我们可以假设没有文件在 src 和 dst 中都存在。

编辑:源目录和目标目录位于不同的文件系统上。


例子:

src_parent/dir

subdir1/
  file1b
subdir2/
  file2b

dst_parent/dir

subdir1/
  file1a
subdir2/
  file2c

我想mv src_parent/dir dst_parent/dir,所以dst_parent/dir结果是这样的:

subdir1/
  file1a
  file1b
subdir2/
  file2b
  file2c

,即两个目录合并在一起。这与在 fx MS Windows 中使用 GUI 移动文件时的行为大致相同。


已经尝试过:

我尝试过这个但没有成功:

$ mv -f /src_parent/mydir/* /dst_parent/mydir/*
mv: rename /src_parent/mydir/subdir1 to /dst_parent/mydir/subdir1: Directory not empty

答案1

我会先链接文件,然后删除源目录:

 cd /src_parent
 find mydir -depth | cpio -pdlmv /dst_parent

检查 /dst_parent/mydir – 如果一切正常:

 rm -rf /src_parent/mydir

相关内容