linux的cp -i 询问是否覆盖,但是文件太多,每次输入“n”太麻烦。请问有什么简单办法。
注:linux的cp选项中没有-n;以由于某些原因只能以root用户登录操作,故把已有文件改为只读的方法,行不通;尝试着,把n写入haha.txt,然后cathaha.t...
注:linux的cp选项中没有-n;
以由于某些原因只能以root用户登录操作,故把已有文件改为只读的方法,行不通;
尝试着,把n写入haha.txt,然后cat haha.txt | cp -i dir_there/* ./ 似乎可以行的通,而且haha.txt中没有n时和有很多n时,都没有覆盖(正是我想要的),目的达成了,但是原理还不太懂,大家帮我解释一下。 展开
以由于某些原因只能以root用户登录操作,故把已有文件改为只读的方法,行不通;
尝试着,把n写入haha.txt,然后cat haha.txt | cp -i dir_there/* ./ 似乎可以行的通,而且haha.txt中没有n时和有很多n时,都没有覆盖(正是我想要的),目的达成了,但是原理还不太懂,大家帮我解释一下。 展开
4个回答
展开全部
cat haha.txt | cp -i dir_there/* ./
就是把正常的标准输入转向到”cat haha.txt“,也就是"cp -i dir_there/* ./"每次需要从标准输入(键盘)输入回答的时候,自动从haha.txt取出,不用手动输入而自动化了。可以不用写入文件,等效方法如下,可能更好理解:
echo "n" | cp -i dir_there/* ./
另建议有重要文档的可以用rsync等同步工具,如果只是文本文档的话,甚至可以用git等版本管理工具,万一出错了可以随时回到上一或几个版本。
就是把正常的标准输入转向到”cat haha.txt“,也就是"cp -i dir_there/* ./"每次需要从标准输入(键盘)输入回答的时候,自动从haha.txt取出,不用手动输入而自动化了。可以不用写入文件,等效方法如下,可能更好理解:
echo "n" | cp -i dir_there/* ./
另建议有重要文档的可以用rsync等同步工具,如果只是文本文档的话,甚至可以用git等版本管理工具,万一出错了可以随时回到上一或几个版本。
展开全部
用mv命令就能实现覆盖, mv file /dst/file 会把dst文件夹下的file覆盖,如果dst下没有file文件,就复制。 一个命令,能用就可以了。 不知道
追问
谢谢,你的方法很简洁。不过原始文件(服务器上的数据)很重要,我不能mv。还是很感谢这么快回复。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单文件cp -f 文件夹cp -rf 如果还提示是否覆盖是别名问题,alias可看到alias cp='cp -i',可以取消别名unalias cp,然后就不会提示覆盖了。记得复制完重新lias cp='cp -i',提示可以很多时候还是蛮有用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
yes n | cp-idir_there/*./
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询