合 cp: overwrite输入y才会覆盖
当我们使用命令cp -a “directory“ 复制目录内容的时候提示“cp: overwrite”,这是因为bash alias设置的alias cp=’cp -i’,也就是说当Linux下输入cp命令实际上运行的是cp -i。当需要copy的目录下文件过多就会频繁提示overwrite。
参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件
cp是有一定危险的操作,所以当覆盖目标文件时,默认会询问用户是否覆盖。具体原因是因为cp的别名会带上 -i参数:
1 2 | [root@localhost log]# alias cp alias cp='cp -i' |
当复制文件夹和大量文件时,一个一个去确认会很麻烦,有几种方式可以解决
1、永久关闭当前用户下的cp别名配置