linux的cp命令的交互式用法和强制覆盖用法的问题(2)
其实我已经就这个问题提问一次了(见http://zhidao.baidu.com/question/278464818.html),但是那次后来忘记补充一个重要细节了。这...
其实我已经就这个问题提问一次了(见http://zhidao.baidu.com/question/278464818.html),但是那次后来忘记补充一个重要细节了。这里再提问一次吧:
linux下,cp命令复制一个文件时,
如果目标文件已经存在,则给出提示,询问是否要覆盖。我知道有个选项是 -i
如果要强制覆盖,则使用 -f
现在想要这样的效果:如果目标文件已经存在,则默认会给出提示;但是如果加上了一个选项,例如-f,则不给出提示了。
根据我的试验,在fedora7中,命令: cp -i -f srcfile dstfile ,如果目标文件存在,还是会提示。也就是说-f会被忽略。
可是在redhat9中,同样的命令 cp -i -f srcfile dstfile ,如果目标文件存在,不会提示,而是强制覆盖了。
已经用alias查看cp命令了,没有附加别的选项。
也就是说cp命令在redhat9和fedora7中的行为是不同的。
就我提问的目标来说,其实是想要这样的效果:一般cp命令,为了谨慎起见,都会默认使用alias加上 -i 选项的。这样平时的cp,都是有 -i 选项存在了,如果目标文件存在,都会给出提示。可是有时候我已经明确知道了目标文件存在了,想要覆盖它。那么显然我就想直接用 cp -f srcfile dstfile 。(注意此时由于alias的效果,实际命令成为了 cp -i -f srcfile dstfile )。
于是在redhat9中,我就很爽快地得到了我想要的效果:目标文件直接被覆盖。可是在fedora7中,却还是很麻烦的给出提示!这个让人很恼火!我知道可以去掉alias对cp增加的 -i 选项,可是不想这样做,因为平时还是希望能够给出提示的。
希望有谁能比较清楚这其中的细节差别?而不是简单告诉我自己去查coreutils包版本或者源代码,这个我自己也可以做,可是一来不熟,而来看英文不快。所以还求达人指教! 展开
linux下,cp命令复制一个文件时,
如果目标文件已经存在,则给出提示,询问是否要覆盖。我知道有个选项是 -i
如果要强制覆盖,则使用 -f
现在想要这样的效果:如果目标文件已经存在,则默认会给出提示;但是如果加上了一个选项,例如-f,则不给出提示了。
根据我的试验,在fedora7中,命令: cp -i -f srcfile dstfile ,如果目标文件存在,还是会提示。也就是说-f会被忽略。
可是在redhat9中,同样的命令 cp -i -f srcfile dstfile ,如果目标文件存在,不会提示,而是强制覆盖了。
已经用alias查看cp命令了,没有附加别的选项。
也就是说cp命令在redhat9和fedora7中的行为是不同的。
就我提问的目标来说,其实是想要这样的效果:一般cp命令,为了谨慎起见,都会默认使用alias加上 -i 选项的。这样平时的cp,都是有 -i 选项存在了,如果目标文件存在,都会给出提示。可是有时候我已经明确知道了目标文件存在了,想要覆盖它。那么显然我就想直接用 cp -f srcfile dstfile 。(注意此时由于alias的效果,实际命令成为了 cp -i -f srcfile dstfile )。
于是在redhat9中,我就很爽快地得到了我想要的效果:目标文件直接被覆盖。可是在fedora7中,却还是很麻烦的给出提示!这个让人很恼火!我知道可以去掉alias对cp增加的 -i 选项,可是不想这样做,因为平时还是希望能够给出提示的。
希望有谁能比较清楚这其中的细节差别?而不是简单告诉我自己去查coreutils包版本或者源代码,这个我自己也可以做,可是一来不熟,而来看英文不快。所以还求达人指教! 展开
展开全部
默认root环境下执行 alias就能知道
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias sudo='sudo -E'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
但是普通用户没这个,如果你在root用户下不想交互式可以用绝对命令
\cp \mv 像这样命令前加个‘\’就好了
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
2011-06-27
展开全部
一个命令,能用就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用mv命令就能实现覆盖,
mv file /dst/file 会把dst文件夹下的file覆盖,如果dst下没有file文件,就复制。
mv file /dst/file 会把dst文件夹下的file覆盖,如果dst下没有file文件,就复制。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-04
展开全部
...........还有你可以命令你的手指直接去按电源按钮或者重启按钮
另外,站长团上有产品团购,便宜有保证
另外,站长团上有产品团购,便宜有保证
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道是你用的版本比较低还是怎么的,我没碰到过这些问题。我一般都用cp -rf xx xxx, 碰到文件夹也不会再问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询