-i 选项对 mv 不起作用

-i 选项对 mv 不起作用

该命令的 manmv说,在执行命令之前有一个-i选项可以提示 ay/n,但对我来说不起作用。每次我使用时mv -i,文件都会自动重命名而不发出提示。知道这是怎么回事吗?

答案1

美国-i

-i, --interactive
          prompt before overwrite

从逻辑上讲,您正在执行“mv”,但文件尚不存在。只有当您要移动到的文件存在时,它才会提示。简单测试:

rinzwind@discworld:~/test$ ls
rinzwind@discworld:~/test$ touch 1
rinzwind@discworld:~/test$ mv -i 1 2
rinzwind@discworld:~/test$ touch 1
rinzwind@discworld:~/test$ mv -i 1 2
mv: overwrite ‘2’? y
rinzwind@discworld:~/test$ 

答案2

从手册页mvman mv):

-i, --interactive
              prompt before overwrite

因此,mv -i如果覆盖文件,将显示提示。以下是示例:

仅有的mv

$ touch foo.txt
$ touch ../bar.txt
$ mv ../bar.txt foo.txt  ##No prompt
$ ls
foo.txt

mv -i

$ touch foo.txt
$ touch ../bar.txt
$ mv -i ../bar.txt foo.txt 
mv: overwrite ‘foo.txt’? y  ##Prompt being shown
$ ls
foo.txt

相关内容