復制文件,只有源文件較目的文件的修改時間新時,才復制文件
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'