![如何在不使用别名或非别名且不获取确认/提示的情况下将文件从源复制到目标?](https://linux22.com/image/699564/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E4%BD%BF%E7%94%A8%E5%88%AB%E5%90%8D%E6%88%96%E9%9D%9E%E5%88%AB%E5%90%8D%E4%B8%94%E4%B8%8D%E8%8E%B7%E5%8F%96%E7%A1%AE%E8%AE%A4%2F%E6%8F%90%E7%A4%BA%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%B0%86%E6%96%87%E4%BB%B6%E4%BB%8E%E6%BA%90%E5%A4%8D%E5%88%B6%E5%88%B0%E7%9B%AE%E6%A0%87%EF%BC%9F.png)
$ cp /source/* /destination/
cp: overwrite `/destination/file1.conf`
目的是将文件从源复制到目标,而无需获取提示或使用非别名(/)方法。
答案1
没有别名的命令
任何 unix 命令都可以加上前缀\
来获取非别名版本。
使用别名
#-(0) :: /dev/shm/test2 > ls
total 0
-rw-------. 1 root 0 Feb 24 16:29 a
-rw-------. 1 root 0 Feb 24 16:29 b
-rw-------. 1 root 0 Feb 24 16:29 c
-rw-------. 1 root 0 Feb 24 16:29 d
无别名
#-(0) :: /dev/shm/test2 > \ls
a b c d
答案2
我不知道你所说的“使用 unalias 方法”是什么意思,但如果你阅读cp
手册页,你可以了解
-n, --no-clobber
do not overwrite an existing file (overrides a previous -i option)
和
-u, --update
copy only when the SOURCE file is newer than the
destination file or when the destination file is missing
因此您有两种方法可以避免出现此提示。您需要决定哪种方法更适合您的目的。