1. 前言

本文主要讲解如何正确使用cp命令复制文件,特别是复制时强制覆盖文件,而不提示。

我们平常在Linux中使用 cp 命令时,会发现将一个目录中文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,所添加的rf参数是不起作用的。

出现这种情况的原因是: cp命令被系统设置了别名,相当于cp=‘cp -i’。

查询alias命令

[root@zcwyou]# alias

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 mv=’mv -i’

alias rm=’rm -i’

alias which=’alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde’

通过上述输出,可以看出,我们平时使用 cp 命令,虽然没有添加任何参数 ,但系统默认会在我们使用 cp 命令时自动添加 -i 参数

-i, --interactive

prompt before overwrite

翻译起来:

-i 即交互的缩写方式,也就是在使用 cp 命令作文件覆盖操作之前,系统会要求确认提示.这个本来是系统的一个保险措施.如果有很多文件要复制,觉得一个一个输入y 确认麻烦的话,可以使用如下方法解决:

2. linux复制时强制覆盖文件

建议大家使用方式一,因为取消别名的话很容易造成风险,万一又忘记恢复别名,以后的复制都不会有提示信息。

有提示信息可以多一层保险嘛,是人都会有犯混的时候,给自己加一个保险,有保障呀.

方式一

使用原生的cp命令

[root@zcwyou]# /bin/cp -rf xxxx

方式二

取消cp命令别名

[root@zcwyou]# unalias cp

去掉 cp 命令的别名,这时你再用 cp -rf 复制文件时,就不会要求确认啦.

复制完成后恢复别名

3. linux复制并覆盖文件的操作案例

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

例如:把install.log 文件复制到123目录

[root@zcwyou ~]# cp install.log 123/

cp:是否覆盖“install.log”?

执行上面的命令时,install.log文件夹中存在的每个文件都会提示是否覆盖;

[root@zcwyou ~]# cp -rf install.log 123/

cp:是否覆盖“install.log”?

加了-f了,依然有此提示。

服务器上查找后发现在默认的系统中是加了别名如下

[root@zcwyou ~]# alias

alias cp=’cp -i’

可以看到别名 ,也就是当执行cp的时候,其实执行的是cp -i参数

4. linux复制并覆盖文件的解决办法

4.1 方法一:修改~/.bashrc文件禁用掉cp的alias

[root@zcwyou ~]# vi ~/.bashrc

在alias cp=’cp -i’前加上”#”注释,重新登录即可实现复制不提示。一定要重新登陆,不然不生效;

#User specific aliases and functions

alias rm='rm -i'

#alias cp='cp -i'

alias mv='mv -i'

[root@zcwyou ~]# cp -rf install.log /123

[root@zcwyou ~]# cp -r install.log /123

4.2 方法二:直接输入Linux命令即可实现强制覆盖

把abc.txt复制为123.txt并且强制覆盖原文件

[root@zcwyou ~]# \cp -rf abc.txt 123.txt

就是在CP命令前面加一个斜杠\

5. 总结

原生的cp命令只需要加上选项-rf即可实现强制覆盖原文件,但由于大部分的Linux系统设置了别名,并加入了选项-i,变为了交互式的复制。所以默认情况下,cp命令并不能实现强制覆盖原文件。只要按本教程方式操作即可实现linux复制文件强制覆盖原文件。

linux 复制文件生效命令,linux复制并覆盖文件使用什么命令相关推荐

  1. java 覆盖文件_java 如何使用命令行移动并覆盖文件

    我想写一个移动并覆盖文件的CMD运行的java小程序,但是学的关于IO的忘记了很多,估计很多地方写错了,求高人帮忙补全一下,并且解释一下大致的流程importjava.util.*;importjav ...

  2. 在文件中查找和替换,覆盖文件不起作用,它清空了文件

    我想通过命令行在HTML文件上运行查找和替换. 我的命令如下所示: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > ...

  3. linux修改隐藏文件生效,在Linux传统文件系统下隐藏属性的修改-linux修改文件名...

    在Linux传统文件系统下隐藏属性的修改 在Linux系统中,一个文件有若干个属性,如读写执行(r.w.x)等基本权限,以及表达这个文件类型的一些属性,如是否为文件"-"或目录&q ...

  4. linux环境变量生效方式,Linux中修改环境变量及生效方法

    Linux中修改环境变量及生效方法 方法一: 在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户 ...

  5. Linux cp命令:复制文件和目录

    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能. cp 命令的基本格式如下: [root@localhost ~]# cp [选项] ...

  6. linux目录命令改目录名,Linux命令详解——文件和目录常用命令-linux修改文件名...

    文件和目录常用命令 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 &g ...

  7. linux 装nano命令,vim、nano在命令行上如何编辑文件

    此次教程中,我们将向您展示三种命令行编辑文件的方式.本文一共覆盖了三种命令行编辑器,vi(或 vim).nano 和 emacs. 在命令行上使用 Vi 或 Vim 编辑文件 您可以使用 vi 编辑文 ...

  8. linux环境oracle环境变量,Linux下设置oracle环境变量

    Linux设置Oracle环境变量 方法一:直接运行export命令定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新s ...

  9. 一天一个Linux基础命令之复制文件或目录命令cp

    cp复制文件或目录 1.命令格式 cp[OPTION]... SOURCE... DIRECTORY 2.命令说明 cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,she ...

最新文章

  1. textview是否超过一行_如何实现一个TextView自动换行单词不会被拆分
  2. hdu 5511 Minimum Cut-Cut——分类讨论思想+线段树合并
  3. opencv计算两数组的乘积_leetcode1464_go_数组中两元素的最大乘积
  4. Hadoop基于Protocol Buffer的RPC实现代码分析-Server端--转载
  5. RecyclerView跳转到指定位置,RecyclerView上下滑动监听,RecyclerView滑动速度
  6. entity framework使用技巧
  7. 装cv2加速_手动安装OpenCV下的IPP加速库
  8. 什么是MARC数据?
  9. 那些慢慢消失的手机功能,最怀念第一个!
  10. 手把手教你做酷炫的数据可视化大屏,零基础的你仅需6步
  11. Android学习笔记五:基本视图组件:Button
  12. GD32F103入门实践(一)配置环境,搭建工程模板,烧写程序
  13. 宝塔面板mysql命令_宝塔面板常用命令
  14. MATLAB写入Excel文件
  15. UMTS移动通信技术
  16. mysql getvar_杰奇登录后的东西都是在session里面的
  17. Multipass中文文档-教程
  18. 斗图?教你用Python制作表情包
  19. PMP备考错题集-模拟题二
  20. 7-67 计算年龄 (10 分)

热门文章

  1. 解决VMware虚拟机,ens33网卡丢失
  2. 关于阵列发射端的波束形成(相控阵)研究与仿真实践
  3. 苹果正在准备iPhone SE3:支持5G
  4. 下载优酷腾讯等视频快捷网站
  5. java后台转前端_从后端开发转职前端开发,我都经历了些什么?
  6. spring aop 动态代理模拟
  7. 微软收购诺基亚设备与服务部门,总价72亿美元
  8. java登录失败三次一小时后再等_Spring Security实现多次登录失败后账户锁定功能...
  9. python openstack开发_openstack开发环境与代码测试
  10. steam无法显示成人内容_显示Steam游戏的FPS