Linux cp命令:复制文件
cp 是 Copy 的简写,cp 命令用于复制文件或目录。
cp 命令的格式如下:
下面的示例是对以上选项用法的详细演示,注意查看显示结果。
cp 命令的格式如下:
# cp 选项 源文件或目录 目标文件或目录
下面列出几个 cp 命令中使用频率较高的选项进行说明,同样,短选项也可以多个一起使用。- -r:递归复制整个目录树,复制目录时必须使用该选项。
- -p:保持源文件的属性不变。
- -f:强制覆盖与目标文件或目录同名的文件或目录,即覆盖时不提示。
- -i:如果存在与目标文件或目录同名的文件或目录,覆盖时提示。
下面的示例是对以上选项用法的详细演示,注意查看显示结果。
#将/opt目录下所有的txt文件复制到/opt/test1目录下,test1目录是空目录 [root@localhost opt]# cp /opt/*.txt /opt/test1 [root@localhost opt]# ls /opt/test1 1.txt 2.txt a.txt b.txt x.txt y.txt z.txt #使用选项“-i”,即目标文件存在,覆盖时给出提示 [root@localhost opt]# cp -I /opt/*.txt /opt/test1 cp:是否覆盖"/opt/test1/1.txt"? …… #使用选项“-f”,即目标文件存在,覆盖时不提示。执行时发现还是会提示,这是因为默认有个 别名记录,应先使用unalias命令取消别名记录后再执行 #查看别名记录 [root@localhost opt]# 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' #使用unalias命令取消cp的别名记录,发现cp命令默认就是使用“cp -i” [root@localhost opt]# unalias cp #再次使用“cp -f”时就不会有提示了 [root@localhost opt]# cp -f /opt/*.txt /opt/test1 #使用“-r”选项将整个/opt/test1目录复制到/opt/test2目录下,注意格式,即test2后面一定记得接上“/”才是复制到test2目录下,如果后面不接“/”,则表示复制test1后重命名为test2 [root@localhost opt]# cp -rf /opt/test1 /opt/test2/ [root@localhost opt]# ls /opt/test2/ test1 #复制时接上选项“-p”,可以保持源文件属性不变。先使用ls命令查看文件的时间标记,复制后再查看时间标记时会发现没有发生变化,表示复制时源文件的属性保持不变 #ls查看源文件的时间标记 [root@localhost opt]# ls -lh /opt/2.txt -rw-r--r--. 1 root root 0 12月 2 22:06 /opt/2.txt #不使用选项“-p”复制后发现时间发生了改变 [root@localhost opt]# cp /opt/2.txt /opt/test3/ [root@localhost opt]# ls -lh /opt/test3/2.txt -rw-r--r--. 1 root root 0 12月 4 21:27 /opt/test3/2.txt #使用选项“-p”复制后发现时间和原来的时间保持一致 [root@localhost opt]# cp -p /opt/2.txt /opt/test2 [root@localhost opt]# ls -lh /opt/test2/2.txt -rw-r--r--. 1 root root 0 12月 2 22:06 /opt/test2/2.txt