复制linuxcp命令详解

linuxcp  时间:2021-03-18  阅读:()

LINUX CP命令详解

Posted at 08月14,2009cp(复制档案或目录)

[root@linux~]#cp[-adfilprsu]来源档(source)目的檔(de stinatio n)

[root@linux~]#cp[options] sourc e 1 source2 source3….directory

参数

-a相当于-p dr的意思

-d若来源文件为连结文件的属性(link file)则复制连结文件属性而非档案本身-f为强制(fo rc e)的意思若有重复或其它疑问时不会询问使用者而强制复制

-i 若目的檔(destinatio n)已经存在时在覆盖时会先询问是否真的动作

-l 进行硬式连结(hard link)的连结档建立而非复制档案本身

-p连同档案的属性一起复制过去而非使用预设属性

-r 递归持续复制用于目录的复制行为

-s 复制成为符号连结文件(symbo lic link)亦即『快捷方式』档案

-u若destinatio n比source旧才更新destin atio n 

最后需要注意的如果来源档有两个以上则最后一个目的文件一定要是『目录』才行

范例

范例一将家目录下的.bashrc复制到/tmp下并更名为bashrc

[ro o t@linu x~]#c d/t mp

[root@linux tmp]#cp~/.bashrc bashrc

[ro ot@linux tmp]#cp-i~/.bashrc bashrccp:overwrite`basrhc’?n

#重复作两次动作 由于/tmp底下已经存在bashrc了加上-i参数

#则在覆盖前会询问使用者是否确定可以按下n或者y呢

#但是反过来说如果不想要询问时则加上-f这个参数来强制直接覆盖范例二将/var/log/wtmp复制到/tmp底下

[root@linux tmp]#cp/var/log/wtmp.<==想要复制到目前的目录最后的.不要忘[root@linux tmp]#ls -l/var/lo g/wtmp wtmp

-rw-rw-r–1 root utmp 71808 Jul 18 12:46/var/lo g/wtmp

-rw-r–r–1 root root 71808 Jul 1821:58 wtmp

#注意到了吗 在不加任何参数的情况下档案的所属者会改变连权限也跟着改变了

#这是个很重要的特性要注意喔还有连档案建立的时间也不一样了#如果您想要将档案的所有特性都一起复制过来可以加上-a喔

[root@linux tmp]#cp-a/var/log/wtmp wtmp_2

[root@linux tmp]#ls -l/var/log/wtmp wtmp_2

-rw-rw-r–1 root utmp 71808 Jul 18 12:46/var/log/wtmp

-rw-rw-r–1 root utmp 71808 Jul 18 12:46 wtmp_2

#瞭了吧整个资料特性完全一模一样ㄟ真是不赖这就是-a的特性

范例三复制/e tc/这个目录下的所有内容到/t mp底下

[ro ot@linux tmp]#cp/e tc//tmpcp:o mittin g d irectory`/e tc’<==如果是目录不能直接复制要加上-r的参数[ro ot@linux tmp]#cp-r/etc//tmp

#还是要再次的强调喔 -r是可以复制目录但是档案与目录的权限会被改变#所以也可以利用c p-a/e tc/t mp来下达指令喔

范例四将范例一复制的bashrc建立一个连结档(symbolic link)

[ro ot@linux tmp]#ls -l bashrc

-rw-r–r–1 root root 395 Jul 1822:08 bashrc

[root@linux tmp]#cp-s bashrc b ashrc_slink

[ro ot@linux tmp]#cp-l bashrc ba shrc_hlink

[root@linux tmp]#ls -l bashrc*

-rw-r–r–2 root root 395 Jul 1822:08 bashrc

-rw-r–r–2 root root 395 Jul 1822:08 bashrc_hlink

lrwxrwxrwx 1 root root 6 Jul 1822:31 bashrc_slink->bashrc

#那个bashrc_slink是由-s的参数造成的建立的是一个『快捷方式』 

#所以您会看到在档案的最右边会显示这个档案是『连结』到哪里去的#至于那个bashrc_hlink有趣了建立了这个档案之后 bashr c与bashrc_hlin k#所有的参数都一样只是第二栏的link数改变成为2了而不是原本的1喔#这两种连结的方式的异同我们会在下一章里面进行介绍的

范例五若~/.bashrc比/tmp/bashrc新才复制过来

[roo t@linux tmp]#cp-u~/.ba shrc/tmp/bashrc

#这个-u的特性是在目标档案与来源档案有差异时才会复制的。

#所以 比较常被用于『备份』的工作当中喔 ^_^

范例六将范例四造成的b ashrc_s link复制成为b ashr c_slink_2

[root@linux tmp]#cp bashrc_s link b ashrc_slink_2

[root@linux tmp]#ls -l ba shrc_s link*lrwxrwxrwx 1 root root 6 Jul 1822:31 bashrc_slink->bashrc

-rw-r–r–1 root root 395 Jul 1822:48 bashrc_slink_2

#这个例子也是很有趣喔原本复制的是连结档但是却将连结档的实际档案复制过来了

#也就是说如果没有加上任何参数时复制的是源文件而非连结文件的属性#若要复制连结文件的属性就得要使用-d或者-a的参数了

范例七将家目录的.bashrc及.bash_his tory复制到/tmp底下

[ro ot@linux tmp]#cp~/.bashrc~/.bash_history/tmp

#可以将多个数据一次复制到同一个目录去

这个cp的功能很多而由于我们常常在进行一些数据的复制所以也会常常用到这个指令的。 一般来说我们如果去复制别人的数据(当然该档案您必须要有re a d的权限才行啊 ^_^)时 总是希望复制到的数据最后是我们自己的所以

在预设的条件中 cp的来源档与目的档的权限是不同的 目的档的拥有者通常会是指令操作者本身。举例来说 上面的范例二中 由于我是ro o t的身份 因此复制过来的档案拥有者与群组就改变成为ro o t所有了 这样说可以明白吗 ^ ^

_

由于具有这个特性 因此 当我们在进行备份的时候某些需要特别注意的特殊权限档案 例如密码文件(/etc/shadow)以及一些设定档就不能直接以cp来复制而必须要加上-a或者是-p等等可以完整复制档案权限的参数才行另外如果您想要复制档案给其它的使用者 也必须要注意到档案的权限(包含读、写、执行以及档案拥有者等等) 否则其它人还是无法针对您给予的档案进行修订的动作喔注意注意

至于上面的范例当中第四个范例是最有趣的使用-l及-s都会建立所谓的连结档(link file) 但是这两种连结档确有不一样的展现情况。这是怎么一回事啊那个-l就是所谓的hard link至于-s则是symbo lic link鸟哥这里先不介绍 因为这个涉及i-node的相关知识我们还没有介绍到下一章再来讨论这个link的问题喔 总之 由于cp有种种的档案属性与权限的特性所以在复制时您必须要清楚的了解到

?是否需要完整的保留来源档案的信息

?来源档案是否为连结档(symbolic link file)

?来源档是否为特殊的档案例如FIFO, socket等

?来源文件是否为目录

tmhhost:全场VPS低至6.4折,香港BGP200M日本软银美国cn2 gia 200G高防美国三网cn2 gia韩国CN2

tmhhost放出了2021年的端午佳节+618年中大促的优惠活动:日本软银、洛杉矶200G高防cn2 gia、洛杉矶三网cn2 gia、香港200M直连BGP、韩国cn2,全都是高端优化线路,所有这些VPS直接8折,部分已经做了季付8折然后再在此基础上继续8折(也就是6.4折)。 官方网站:https://www.tmhhost.com 香港BGP线路VPS ,200M带宽 200M带...

UCloud:美国云服务器,洛杉矶节点大促,低至7元起/1个月

ucloud美国云服务器怎么样?ucloud是国内知名云计算品牌服务商家,目前推出全球多地机房的海外云服务器。UCloud主打的优势是海外多机房,目前正在进行的2021全球大促活动参与促销的云服务器机房就多达18个。UCloud新一代旗舰产品快杰云服务器已上线洛杉矶节点,覆盖北美和亚太地区,火热促销中, 首月低至7元,轻松体验具备优秀性能与极高性价比的快杰云服务器。点击进入:ucloud美国洛杉矶...

hostkey俄罗斯、荷兰GPU显卡服务器/免费Windows Server

Hostkey.com成立于2007年的荷兰公司,主要运营服务器出租与托管,其次是VPS、域名、域名证书,各种软件授权等。hostkey当前运作荷兰阿姆斯特丹、俄罗斯莫斯科、美国纽约等数据中心。支持Paypal,信用卡,Webmoney,以及支付宝等付款方式。禁止VPN,代理,Tor,网络诈骗,儿童色情,Spam,网络扫描,俄罗斯色情,俄罗斯电影,俄罗斯MP3,俄罗斯Trackers,以及俄罗斯法...

linuxcp为你推荐
公司网络被攻击公司的一个员工手机中病毒了,今天公司网络被攻击大家的手机都上不了网,说是有人在扫描我们的无线网,sonicchat深圳哪里有卖汽车模型?巨星prince去世Whitney Houston因什么去世的?百度关键词工具常见的关键词挖掘工具有哪些www.44ri.comwww.yydcsjw.comhaokandianyingwang谁给个好看的电影网站看看。www.kanav001.com翻译为日文: 主人,请你收养我一天吧. 带上罗马音标会更好wwwwww.5any.comwww.qbo5.com 这个网站要安装播放器bbs2.99nets.com天堂1单机版到底怎么做haole012.com说在:012qq.com这个网站能免费挂QQ,是真的吗?
淘宝虚拟主机 泛域名 花生壳域名贝锐 新网域名管理 云网数据 inmotionhosting l5520 监控宝 12u机柜尺寸 好玩的桌面 tightvnc ftp教程 亚马逊香港官网 hkt 绍兴电信 四核服务器 超级服务器 双12 japanese50m咸熟 restart 更多