linux 下文件夹的复制、覆盖以及确认问题解决
2016-06-06 19:26
447 查看
在项目中有个这样的需求就是在每次编译后将某个文件夹下的文件替换为一个固定文件夹下的文件,如果没有那就直接复制了,但是如果有那就麻烦了,他会一个个问你是否要覆盖,这样是不是很麻烦,下面我们用小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'
其中就有cp 当我们执行 cp -f时 就相当于执行了 cp -if 所以会询问你要不要覆盖,当然了如果只是很少的手动修改那可以如果量大了那就很麻烦,所以可以做如下处理:
1、修改文件(不太推荐,太危险了)
[root@sjhl-wn-cms01v whd.com]# sudo vim ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
如果不需要的的话可以把 alias cp='cp -i' 使用 # 注释掉
2、直接使用命令实现(推荐)
\cp -rf /www/cms.whd.com/conf/ /www/cms.manager/core/conf/如果写在脚本中可以使用下面的方式 $(pwd) 或者 $`pwd` 来获取当前的目录路径
\cp -rf /www/cms.whd.com/conf/ $(pwd)/target/cms.manager/bdp/core/conf/我们看到 只是在命令前加了一个反斜杠(\),这样就不会再次确认了,而且只在命令中起作用比较好。
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'
其中就有cp 当我们执行 cp -f时 就相当于执行了 cp -if 所以会询问你要不要覆盖,当然了如果只是很少的手动修改那可以如果量大了那就很麻烦,所以可以做如下处理:
1、修改文件(不太推荐,太危险了)
[root@sjhl-wn-cms01v whd.com]# sudo vim ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
如果不需要的的话可以把 alias cp='cp -i' 使用 # 注释掉
2、直接使用命令实现(推荐)
\cp -rf /www/cms.whd.com/conf/ /www/cms.manager/core/conf/如果写在脚本中可以使用下面的方式 $(pwd) 或者 $`pwd` 来获取当前的目录路径
\cp -rf /www/cms.whd.com/conf/ $(pwd)/target/cms.manager/bdp/core/conf/我们看到 只是在命令前加了一个反斜杠(\),这样就不会再次确认了,而且只在命令中起作用比较好。
相关文章推荐
- 64位linux下eclipseADT不生成R.java文件的终极解决方案
- Linux 系统目录结构
- 在linux下使用curl访问 多参数url GET参数问题
- Linux启用ssh服务
- linux c 实现一个进度条
- Linux内存管理之mmap详解
- LINUX内核调度器+linux 内存
- 在 Linux 客户端配置基于 Kerberos 身份验证的 NFS 服务器
- 【kaldi】Kaldi+CUDA安装向问题(含libtool is not installed.的解决方法)
- ctags简易用法
- linux -redhat rpm 和zabbix和各种rpm包下载地址
- linux驱动开发
- centos 安装 mysql5.7.9初始密码问题
- Linux vmstat命令
- Petalinux boot from QSPI flash
- 将centos目录映射为Windows驱动器
- linux 参数优化 FAQ
- linux命令行发送带附件的邮件
- centos 升级 kernel 从 3.10.0 到 4.6.1-1.el7.elrepo
- CentOS 恢复 rm -rf * 误删数据