复制文件,只有源文件较目的文件的修改时间新时,才复制文件
cp -u -v file1 file2
.将文件file1复制成文件file2
cp file1 file2
.采用交互方式将文件file1复制成文件file2
cp -i file1 file2
.将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
cp -f file1 file2
.将目录dir1复制成目录dir2
cp -R file1 file2
.同时将文件file1、file2、file3与目录dir1复制到dir2
cp -R file1 file2 file3 dir1 dir2
.复制时保留文件属性
cp -p a.txt tmp/
.复制时保留文件的目录结构
cp -P /var/tmp/a.txt ./temp/
.复制时产生备份文件
cp -b a.txt tmp/
.复制时产生备份文件,尾标 ~1~格式
cp -b -V t a.txt /tmp
.指定备份文件尾标
cp -b -S _bak a.txt /tmp
cp -r /home/root.adminssh/sharepls/ /home/jboss/server/default/deploy/pls.war
如果,文件夹 /home/jboss/server/default/deploy/pls.war不存在,则就会把sharepls重名名为pls.war并拷贝过去。
否则,如果 /home/jboss/server/default/deploy/pls.war存在,则会拷贝 /home/jboss/server/default/deploy/pls.war/sharepls到下。
----------------------
那怎么实现覆盖的,下面这个方法就可以:
先执行:
然后在执行
cp -r/home/root.adminssh/sharepls/* /home/jboss/server/default/deploy/pls.war
如果你不执行unalias cp,他不会不断的提醒你,是否覆盖,原则上虽然安全,但实际上不胜其烦。
为啥要执行unalias cp呢,呵呵,执行以下alias就可以看到了(在执行unalias cp之前啊),因为他把cp 命令 修改为 cp -i 了(i-提醒)。如下:
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'