复制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等

?来源文件是否为目录

GigsGigsCloud(年付26美元)国际线路美国VPS主机

已经有一段时间没有听到Gigsgigscloud服务商的信息,这不今天看到商家有新增一款国际版线路的美国VPS主机,年付也是比较便宜的只需要26美元。线路上是接入Cogentco、NTT、AN2YIX以及其他亚洲Peering。这款方案的VPS主机默认的配置是1Gbps带宽,比较神奇的需要等待手工人工开通激活,不是立即开通的。我们看看这款服务器在哪里选择看到套餐。内存CPUSSD流量价格购买地址1...

数脉科技香港自营,10Mbps CN2物理机420元/月

数脉科技怎么样?数脉科技品牌创办于2019,由一家从2012年开始从事idc行业的商家创办,目前主营产品是香港服务器,线路有阿里云线路和自营CN2线路,均为中国大陆直连带宽,适合建站及运行各种负载较高的项目,同时支持人民币、台币、美元等结算,提供支付宝、微信、PayPal付款方式。本次数脉科技给发来了新的7月促销活动,CN2+BGP线路的香港服务器,带宽10m起,配置E3-16G-30M-3IP,...

SoftShellWeb:台湾(台北)VPS年付49美元起,荷兰VPS年付24美元起

SoftShellWeb是一家2019年成立的国外主机商,商家在英格兰注册,提供的产品包括虚拟主机和VPS,其中VPS基于KVM架构,采用SSD硬盘,提供IPv4+IPv6,可选美国(圣何塞)、荷兰(阿姆斯特丹)和台湾(台北)等机房。商家近期推出台湾和荷兰年付特价VPS主机,其中台湾VPS最低年付49美元,荷兰VPS年付24美元起。台湾VPSCPU:1core内存:2GB硬盘:20GB SSD流量...

linuxcp为你推荐
futureshop在国内还是在加拿大买笔记本公司网络被攻击受到网络人身攻击如何处理?brandoff香港购物在哪里12306崩溃亲们,为什么12306手机订票系统打不开,显示网络异常,硬盘工作原理数据存储的原理是什么微信回应封杀钉钉为什么微信被封以后然后解封了过了一会又被封了www.983mm.comwww.47683.com刘祚天DJ这个职业怎么样?比肩工场比肩接踵的意思百度关键词价格查询百度推广里怎么查指定的关键字参与竞价的价位呢
cn域名 高防服务器租用选锐一 动态ip的vps 域名备案号查询 sugarhosts hostgator awardspace 私服服务器 本网站在美国维护 双十一秒杀 秒杀汇 服务器合租 如何用qq邮箱发邮件 卡巴斯基免费试用 免费phpmysql空间 申请网站 中国电信测速器 工信部网站备案查询 免费网络空间 hdchina 更多