该命令的 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
从手册页mv
(man 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