用途
cp除了复制功能之外还可以建立快捷方式
全称
cp的全称为copy
参数
-a :相当于同时指定参数pdr
-d :若文件为链接文件的属性(link file),则复制链接文件属性而非档案本身
-f :强制的意思(force),若目标档案已经存在且无法开启,则移除后再尝试一次
-i :若目标文件存在,在覆盖的时会先询问动作的进行
-l :进行硬式连结的接档链接,而非复制档案本身
-p :连同档案的默认属性一起复制,而非使用默认属性
-r :递归持续复制,用于目录的复制行为
-s :复制成为符号链接文件,即快捷方式
-u :若destination比source旧才更新
案例
范例一:用root身份,将家目录下的.bashrc复制到/tmp目下,并且修改名称为bashrc,并且使用i参数
[root@bigdata ~]# cp .bashrc /tmp/bashrc 将家目录下的.bashrc复制到/tmp目下,并且修改名称为bashrc
[root@bigdata ~]# cp -i .bashrc /tmp/bashrc
cp:是否覆盖"/tmp/bashrc"? y n为不覆盖,y为覆盖
范例二:变换目录到/tmp下,并将/etc/host.conf文件复制到该目录下
复制前:
[root@bigdata tmp]# ls -l /var/log/btmp 查看文件属性
-rw-------. 1 root utmp 768 8月 6 21:52 /var/log/btmp
复制 :
[root@bigdata tmp]# cp /var/log/btmp . 复制文件btmp到当前目录
复制后:
[root@bigdata tmp]# ls -l btmp 查看复制的文件属性
-rw-------. 1 root root 768 8月 7 22:21 btmp
我们从绿色标记部分可以看出,明显变化
添加参数复制:
[root@bigdata tmp]# cp -a /var/log/btmp .
cp:是否覆盖"./btmp"? y
[root@bigdata tmp]# ls -l btmp
-rw-------. 1 root utmp 768 8月 6 21:52 btmp
范例三:复制/etc/这个目录下的所有内容到/tmp底下
[root@bigdata tmp]# cp /etc /tmp
cp: 略过目录"/etc"
出现这种情况就需要加参数r来进行复制
[root@bigdata tmp]# cp -r /etc /tmp 也可以使用a参数(cp -a /etc /tmp )
范例四:建立一个连接档(快捷方式)
[root@bigdata tmp]# cp -s bashrc bashrc_link
[root@bigdata tmp]# ls -l bashrc*
-rw-r--r--. 1 root root 176 8月 7 22:08 bashrc
lrwxrwxrwx. 1 root root 6 8月 7 22:39 bashrc_link –> bashrc bashrc_link为快捷方式
范例五:若~/.bashrc比tmp/barshrc新才复制过来
[root@bigdata tmp]# cp -u ~/.bashrc /tmp/bashrc
范例六:通过复制快捷方式来查看d参数作用
[root@bigdata tmp]# cp bashrc_link bashrc_link1 一般复制,不加参数d,则复制了源文件
[root@bigdata tmp]# cp -d bashrc_link bashrc_link2 复制了快捷方式
[root@bigdata tmp]# ls -l bashrc*
-rw-r--r--. 1 root root 176 8月 7 22:08 bashrc
lrwxrwxrwx. 1 root root 6 8月 7 22:39 bashrc_link -> bashrc
-rw-r--r--. 1 root root 176 8月 7 22:47 bashrc_link1
lrwxrwxrwx. 1 root root 6 8月 7 22:47 bashrc_link2 -> bashrc
范例七:多个数据文件复制到同一个目录
例如现在目录tmp下存在文件1.txt,2.txt,3.txt(3个文件均为文空件)
[root@bigdata tmp]# cp /tmp/1.txt /tmp/2.txt /tmp/3.txt /usr/local/sbin/
[root@bigdata tmp]# cd /usr/local/sbin/
[root@bigdata sbin]# ll
总用量
-rw-r--r--. 1 root root 0 8月 7 22:53 1.txt
-rw-r--r--. 1 root root 0 8月 7 22:53 2.txt
-rw-r--r--. 1 root root 0 8月 7 22:53 3.txt
我们可以看到已经成功复制文件