重命名一个目录,确保它已经存在

时间:2015-06-17 11:42:25

标签: linux bash command-line mv

我想知道关注

我们假设您在linux dir1和dir2中有两个目录。现在当我做的时候

mv dir1 dir2

然后dir1进入dir2。

但是如果我想将dir1重命名为dir2怎么办?虽然dir2已经存在,但是让bash告诉我并问我是否要覆盖?或者只是告诉我它不能重命名因为它已经存在?

有没有办法呢?

2 个答案:

答案 0 :(得分:1)

您可以使用iT选项。

T会将目标视为普通文件,因此如果存在目标目录,则不会“进入”; i会让您确认。在你的情况下,它将是:

mv -iT dir1 dir2

如果dir2不存在,则不会显示确认消息。

注意,如果目标dir2不为空,即使您确认了,也不能使用mv。

如果你想要覆盖,你需要编写一个小函数/脚本来完成它。

答案 1 :(得分:0)

如果您使用mv选项i,它会提示并检查您是否愿意覆盖现有目录(如果现有目录)。

如果dir1dir2存在且您尝试如下操作,则会提示您。如果dir2不存在,则不会提示。

mv -i dir1 dir2