Linux CentOS  复制文件、替换文件 cp 复制文件、cp 覆盖文件 cp替换文件

在项目中有个这样的需求就是在每次编译后将某个文件夹下的文件替换为一个固定文件夹下的文件,如果没有那就直接复制了,但是如果有那就麻烦了,他会一个个问你是否要覆盖,这样是不是很麻烦,下面我们用小demo来学习一下:

1、正常复制命令:   cp -rf /www/cms.whd.com/conf/  mycms/
-r 是递归的意思,会把问价下的子文件目录都会复制
-f 参数是强制复制,比如你在a文件中有个文件名叫b,然后你把c文件夹里面的另一个文件名叫做b的复制到a里面,这个时候回冲突,然后会提示你要不要继续复制,加上-f就不会提示你了。

但是当我们执行上面的那个命令时还是会提示你要不要覆盖,这是因为系统中设置了别名:

[root@sjhl-wn-cms01v cms.fang.com]# 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'


 

一、Linux 复制文件语法

1、 cp [option] src dest

2、 option 可选参数如下:

-a:是指archive的意思,也说是指复制所有的目录

-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身

-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制

-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作

-l:建立硬连接(hard link)的连接文件,而非复制文件本身

-p:与文件的属性一起复制,而非使用默认属性

-r:递归复制,用于目录的复制操作

-s:复制成符号连接文件(symbolic link),即“快捷方式”文件

-u:若目标文件比源文件旧,更新目标文件

 

二、普通文件复制

1、cp Hello.java HelloWorld.java : 将 Hello.java 复制一份名为 HelloWorld.java的文件

2、cp Hello.java /usr/He.java : 将 Hello.java 复制到 /usr/目录下,名称为 He.java

3、cp -rf /usr /root :将 /usr 文件夹复制到 /root 文件夹下。 (会形成: /root/usr 文件夹)

4、cp -rf /usr/** /root :将 /usr 文件夹下的全部文件复制到 /root文件夹下。 (会形成: /root/usr文件夹下的内容)

 

三、强制覆盖、替换文件

1、语法: \cp src dest : 前面增加 反斜杠“\” , 表示强制覆盖文件。

2、\cp Hello.java World.java : 将 Hello.java 文件强制替换到 World.java下。 (相当于: World.java 删除,Hello.java 文件复制过来,改名 World.java)

3、\cp -rf /usr /root : 将 /usr 文件夹复制到 /root 文件夹下,遇到相同,会强制覆盖掉!

4、\cp -rf /usr/** /root :将 /usr 文件夹下的全部文件复制到 /root 文件夹下,遇到相同,会强制覆盖掉!
 

 

如果写在脚本中可以使用下面的方式 $(pwd) 或者 $`pwd` 来获取当前的目录路径

 

 \cp -rf /www/cms.whd.com/conf/ $(pwd)/target/cms.manager/bdp/core/conf/
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS虚拟机和主机之间复制文件,您需要使用共享文件夹功能。共享文件夹是指将主机文件夹与虚拟机文件夹共享,使得虚拟机能够访问主机文件夹内的文件,并且虚拟机内的更改也会反映到主机上的文件夹内。 首先,在VMware中,打开虚拟机设置,选择“选项”中的“共享文件夹”,勾选“启用共享文件夹”和“始终启用”,选择要共享的主机文件夹,设置文件夹名称和路径。 接着,在CentOS虚拟机中,安装“open-vm-tools”软件包,该软件包提供了VMware虚拟机工具的功能,包括共享文件夹的访问。使用以下命令安装: sudo yum install open-vm-tools 安装完成后,在CentOS终端中输入以下命令即可挂载共享文件夹: sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs 这个命令将主机的共享文件夹挂载到CentOS虚拟机的“/mnt/hgfs”目录下。现在,您可以通过在虚拟机中执行命令来访问主机共享文件夹中的文件: cd /mnt/hgfs/shared_folder 共享文件夹中的更改会自动同步到虚拟机和主机之间。如果您需要在虚拟机和主机之间复制文件,只需在虚拟机终端中使用cp或scp命令即可。例如,将主机共享文件夹中的文件复制到虚拟机中,使用以下命令: cp /mnt/hgfs/shared_folder/file.txt /home/user/ 这将把主机共享文件夹中的“file.txt”文件复制CentOS虚拟机中的“/home/user/”目录下。 通过这种方式,您可以轻松地在CentOS虚拟机和主机之间复制文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值