问题:

cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,当文件比较少的时候还可以按Y确认,当很多文件的时候就不好说了。

bf6b8c2bfc46b63a8754fcc8deb3ca81.png

-r的意思是递归复制,也就是复制文件夹及其下所有文件。

-f的意思是遇到同名的文件时不提示,直接覆盖。

但是为什么加上-f了,还出现“overwrite”的提示呢?

这是因为系统为防止我们误操作,覆盖了不该覆盖的文件,而使用了命令的别名。使用alias命令查看一下:

[root@172-20-2-11 data]# 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 which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

从上边我们可以看出,我们输入的cp命令,其实是“cp -i”命令。其他几个命令,如ll,ls mv,rm等也使用了别名。

解决办法一:

在cp前加上一个"\"符号就不使用别名运行了,如下:

46450e44eeecf30c6d0c9200b12a8c45.png

解决办法二:

编辑文件,注释掉别名。

6e742ad109a9f270e5ea2c7b4f99ed38.png

退出

030a9d67752340edda73417a02309c97.png

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐