Linux cp 复制文件强制覆盖的用法_cp -f lib usr local lib64 强制替换

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .\* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mc='. /usr/libexec/mc/mc-wrapper.sh'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

然后可以查看 cp 命令选项 -i 是什么意思,起什么作用:

man cp

详细的参数见文章末尾。这里看看-i什么意思


       -i, --interactive
              无论是否覆盖现存文件都作提示。

原来在覆盖之前会提示,那我们的解决办法也出来了,用unalias cp来解除cp的别名,还原纯净的cp。

unaslias cp
# 这只是临时取消cp的别名,不是永久的
cp -rf src dest 
# 这下就行了,就不会提示覆盖了

方法二

输入\cp命令,作用也是取消cp的别名:

\cp -rf src dest

或者直接使用原始 cp 避免使用别名的cp:

/bin/cp  -rf src dest

方法三

使用管道自动输入yes :

# 让管道自动输入一大堆得yes,就可以完成了强行复制了
yes | cp cp -rf src dest 

详细参数

Linux 系统 cp 命令详细参数及选项含义:

NAME
       cp - 复制文件和目录

总览
       cp [选项] 文件路径
       cp [选项] 文件...目录

       POSIX 选项: [-fipRr]

       GNU 参数(最短形式): [-abdfilprsuvxPR] [-S SUFFIX] [-V {numbered,existing,simple}] [--sparse=WHEN] [--help] [--version] [--]

描述
       cp 复制文件(或者目录等).  可以使用这个命令复制一个文件到一个指定的目的地, 或者复制任意多个文件到一个目的目录目录.

       如果最后一个命令参数为一个已经存在的目录名, cp 会将每一个源 文件 复制到那个目录下(维持原文件名).  如果所给的参数只有两个文件名.它把前一个文件复制到后一个文件上.  如果最后一个参数不是文件名,目录名,和给出多于两个非选项参数,是 错误的.

       (因而:如果/b已经存在,那么'cp -r /a /b'会复制/a到/b而成为/b/a.  而复制/a/x到/b而成为/b/a/x.但如果/b事先不存在,它会把/a复制为/b 而复制/a/x到/b而成为/b/a/x.但如果/b事先不存在,它会把/a复制为/b 而把/a/x复制为/b/x.)

       所创建的文件和/或目录的模式和原始的文件的模式是一样的, 然后用用户umask值修改(除非使用了-p选项),(但在递归方式 复制目录时,新建目录会临时地获得他们的最终模式Ored,连同 S_IRWXU(0700),以便进程能够读、写、查找这些新建的目录.

       复制文件到其自身时它什么事情都不做(除了可能会生成一条错误信息以外).        当复制到一个现存的不同文件时,系统调用函数       `open(path,O\_WRONLY|O\_TRUNC)'打开目的文件.当复制到一个新文件时,系 统调用函数`open(path,O_WRONLY|O_CREAT,mode)'创建该文件.如果这操
 作失败,该文件存在,和给出了-f选项, cp 试图先删除该现存文件,如果删除成功则把它当做一个新文件处理.

POSIX 选项
 POSIX 识别四个半选项:

 -f 如果需要,删除已存在的目的文件.(如前所述.)

 -i 提示是否覆盖现有普通目标文件。 (在标准出错上显示问题,从标准输入读取答案.只有明确确认了才复制文件.)

 -p 保留原文件的所有者、组、权限(包括 setuid 和 setgid 位), 上次修改时间和上次访问时间。如果制作所有者或组信息的副本时出错, 则 setuid 和 setgid 位被清空。 (要不然源文件和副本的上次访问时间显然是不同的, 因为复制操作就是对源文件的访问.)

 -R 递归复制目录,如果对象不是普通文件或目录那么做相应正 确处理,(因此,一个 FIFO或者特殊文件在复制后仍然是一 个 FIFO型或者相应特殊文件。)

 -r 递归复制目录,如果对象不是普通文件或目录那么做一些未 声明处理.(因此,我们允许并鼓励用 -r 选项做 -R 的 同义词.不过那些愚蠢的特征,象那些在 GNU 版本的 cp 出 现的(见下文)也可以用.)

GNU 细节
 通常,读写文件的方式都是一样的.例外情况见下面的 --sparse 选项.

 缺省情况下,`cp'并不复制目录(参见下文 -r 选项说明).

 cp 通常不会复制文件到自身,但有以下例外: 如果参数 --force --backup 与 源文件 一起给出,并且与 目的文件 并且指向一个普通文件, cp 将生成一个备份文件,不是普通的就是编了号的,就象通 常的方法那样声明.在你仅仅想对已有的文件进行备份, 而又不想修改它的时候很有用.

GNU 选项
 -a, --archive
 复制时,尽可能保持文件的结构和属性.(但不保持目录 结构)等同于 -dpR。

 -d, --no-dereference
 复制符号链接作为符号链接而不是复制它指向的文件, 并且保护在副本中原文件之间的硬链接.

 -f, --force
 删除存在的目标文件。 (较:原译文缺下面的部分)

 -i, --interactive
 无论是否覆盖现存文件都作提示。

 -l, --link
 制作硬链接代替非目录拷贝。

 -p, --preserve
 保持原始文件的所有者,组,许可,和时间表属性。

 -P, --parents
 一个斜杠和指定的源文件名构成目的文件。 最后送给 cp 的参数必须是一个已存在的目录的名字。例如, 下面这个命令:
 cp --parents a/b/c existing\_dir
 复制文件 `a/b/c' 到 texisting_dir(现有的目录)/a/b/c',建立任 何缺少的中间目录。

 -r 递归地复制目录,复制任何非目录和非符号链接(那是, FIFOs和特别文件)好象他们是常规的文件一样看待.这 意味着尝试读出每个源文件的数据,和把它写到目的地 上.因而,用这个选项,cp'可能彻底地终止,当不确定地    读一个FIFO或者/dev/tty时,(这是一个缺陷.它意味着
              如果你不知道在这棵树(目录)中有什么要复制的时候, 你不得不避开-r并使用-R打开一个未知的设备文件, 比如说一台扫描仪,会有未知的效果发生在硬件上)

       -R, --recursive
              递归地复制目录,保留非目录(参见上面的 -r ).



![img](https://img-blog.csdnimg.cn/img_convert/91ba169f6e1e81ea552bea92fd574959.png)
![img](https://img-blog.csdnimg.cn/img_convert/a5dd9329309f2798bade9bb9ba99b647.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值