cp复制cp 源文件路径 目录文件路径[root@zabbix_agentd ~]# cp ./1.sh /tmp/[root@zabbix_agentd ~]# cp ./1.sh /tmp/2.sh
如上所示,第一次cp ./1.sh /tmp/ ,将当前目录下1.sh复制到tmp下仍然叫做1.sh,
第二次cp ./1.sh /tmp/2.sh ,将当前目录下1.sh复制到tmp下重命名为2.sh
查看;[root@zabbix_agentd ~]# cat /tmp/{1.sh,2.sh}accepted conn: 40730031accepted conn: 40730031[root@zabbix_agentd ~]#
如果目录文件存在,会提示是否覆盖如果目标文件不存在则创建新文件如果目录存在,且是目录:则复制至目标目录,并保持原名
当然,源文件也可以出现多个,如果源是多个,目标必须是目录[root@zabbix_agentd ~]# cp 1.sh 1.txt anaconda-ks.cfg /tmp/cp: overwrite ‘/tmp/1.sh’? y[root@zabbix_agentd ~]#
cp复制目录-r 若目标文件存在则会报错[root@zabbix_agentd ~]# cp -r /etc/zabbix /tmp/zabbix123[root@zabbix_agentd ~]# ll /tmp/zabbix123total 16drwxr-xr-x. 2 root root 4096 Jul 9 20:36 scripts-rw-r--r--. 1 root root 11145 Jul 9 20:36 zabbix_agentd.confdrwxr-xr-x. 2 root root 37 Jul 9 20:36 zabbix_agentd.d[root@zabbix_agentd ~]#
*为bash中的多通配符?为单个通配符[]匹配知道字符范围内的任意单个字符如果只复制文件到目录则可以如下,
[root@zabbix_agentd ~]# cp -r /etc/zabbix/* /tmp/zabbix123/scripts/
常用[[:upper:]]所有大写字母,相当于A-Z[[:lower:]]所有小写[[:alpha:]]小写大写都算[[:digit:]]0-9所有数字[[:alnum:]]数字字母都包含[[:space:]]空白字符[[:punct:]]标点符号*为bash中的多通配符?为单个通配符[]匹配知道字符范围内的任意单个字符
匹配指定字符范围外的任意单个字符[^]1,不匹配数字,非数字以外的字符
示例:复制以a开头,中间有2个任意字符,并且以w结尾的文件cp -r a??w复制以a开头,中间任意字符,以w结尾cp -r a*w复制任意一个数字开头,以非数字结尾cp -r [0-9]*1复制以非字母开头,后有一个字符和任何长度的字符cp -r 2][[:alpha:]]*
cp常用选项:
-r:递归
-i:交互
-d:复制链接文件本身,而非指向的源文件
-a:保持所有属性,相当于-dr
-p:保留用户权限。只有管理员能够保留权限
-f:强制覆盖