解决Linux执行cp命令提示 cp: overwrite xxx

cp是linux中最基础常用的命令,主要用于复制文件或目录。语法:

cp [options] source dest

cp [options] source... directory

参数说明

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件

cp是有一定危险的操作,所以当覆盖目标文件时,默认会询问用户是否覆盖。具体原因是因为cp的别名会带上 -i参数:

[root@localhost log]# alias cp
alias cp='cp -i'

当复制文件夹和大量文件时,一个一个去确认会很麻烦,有2种方式可以解决

1、永久关闭当前用户下的cp别名配置

sed -i "s/alias cp='cp -i'/#alias cp='cp -i'/g" ~/.bashrc 
source ~/.bashrc 

2、屏蔽当前命令使用别名

\cp -f test1.txt test2.txt

\这个是转义符,可以把魔法(别名)取消。

参考资料:

https://www.runoob.com/linux/linux-shell.html

https://www.cnblogs.com/dbcloud/p/6126004.html

https://www.jianshu.com/p/9f68cb9a1d1b

猜你喜欢

转载自www.cnblogs.com/feng-gamer/p/11976619.html
cp
今日推荐