Linux cp命令详解
- 博客分类:
- 技术杂绘
Linux cp命令详解
2012年01月06日
源:http://zhuairlunjj.blog.163.com/blog/static/80050945201079112227872/
cp (复制档案或目录)
[root@linux ~]# cp [-adfilprsu] 来源档(source) 目的n(destination)
[root@linux ~]# cp [options] source1 source2 source3 …. directory
参数:
-a :相当于 -pdr 的意思;
-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;
-f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;
-i :若目的n(destination)已经存在时,在覆盖时会先询问是否真的动作!
-l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身;
-p :连同档案的属性一起复制过去,而非使用预设属性;
-r :递归持续复制,用于目录的复制行为;
-s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u :若 destination 比 source 旧才更新 destination !
最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!
范例:
范例一:将家目录下的 .bashrc 复制到 /tmp 下,并更名为 bashrc
[root@linux ~]# cd /tmp
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# cp -i ~/.bashrc bashrc
cp: overwrite `basrhc’? n
# 重复作两次动作,由于 /tmp 底下已经存在 bashrc 了,加上 -i 参数,
# 则在覆盖前会询问使用者是否确定!可以按下 n 或者 y 呢!
# 但是,反过来说,如果不想要询问时,则加上 -f 这个参数来强制直接覆盖!
范例二:将 /var/log/wtmp 复制到 /tmp 底下
[root@linux tmp]# cp /var/log/wtmp . bashrc
# 那个 bashrc_slink 是由 -s 的参数造成的,建立的是一个『快捷方式』,
# 所以您会看到在档案的最右边,会显示这个档案是『连结』到哪里去的!
# 至于那个 bashrc_hlink 有趣了!建立了这个档案之后, bashrc 与 bashrc_hlink
# 所有的参数都一样,只是,第二栏的 link 数改变成为 2 了~而不是原本的 1 喔!
# 这两种连结的方式的异同,我们会在下一章里面进行介绍的!
范例五:若 ~/.bashrc 比 /tmp/bashrc 新才复制过来
[root@linux tmp]# cp -u ~/.bashrc /tmp/bashrc
# 这个 -u 的特性,是在目标档案与来源档案有差异时,才会复制的。
# 所以,比较常被用于『备份』的工作当中喔! ^_^
范例六:将范例四造成的 bashrc_slink 复制成为 bashrc_slink_2
[root@linux tmp]# cp bashrc_slink bashrc_slink_2
[root@linux tmp]# ls -l bashrc_slink*
lrwxrwxrwx 1 root root 6 Jul 18 22:31 bashrc_slink -> bashrc
-rw-rCrC 1 root root 395 Jul 18 22:48 bashrc_slink_2
# 这个例子也是很有趣喔!原本复制的是连结档,但是却将连结档的实际档案复制过来了
# 也就是说,如果没有加上任何参数时,复制的是源文件,而非连结文件的属性!
# 若要复制连结文件的属性,就得要使用 -d 或者 -a 的参数了!
范例七:将家目录的 .bashrc 及 .bash_history 复制到 /tmp 底下
[root@linux tmp]# cp ~/.bashrc ~/.bash_history /tmp
# 可以将多个数据一次复制到同一个目录去!
这个 cp 的功能很多,而由于我们常常在进行一些数据的复制,所以也会常常用到这个指令的。 一般来说,我们如果去复制别人的数据 (当然,该档案您必须要有 read 的权限才行啊! ^_^) 时, 总是希望复制到的数据最后是我们自己的,所以,在预设的条件中, cp 的来源档与目的档的权限是不同的,目的档的拥有者通常会是指令操作者本身。举例来说, 上面的范例二中,由于我是 root 的身份,因此复制过来的档案拥有者与群组就改变成为 root 所有了! 这样说,可以明白吗?! ^_^
由于具有这个特性,因此,当我们在进行备份的时候,某些需要特别注意的特殊权限档案, 例如密码文件 (/etc/shadow) 以及一些设定档,就不能直接以 cp 来复制,而必须要加上 -a 或者是 -p 等等可以完整复制档案权限的参数才行!另外,如果您想要复制档案给其它的使用者,也必须要注意到档案的权限(包含读、写、执行以及档案拥有者等等),否则,其它人还是无法针对您给予的档案进行修订的动作喔!注意注意!
至于上面的范例当中,第四个范例是最有趣的,使用 -l 及 -s 都会建立所谓的连结档 (link file),但是这两种连结档确有不一样的展现情况。这是怎么一回事啊? 那个 -l 就是所谓的 hard link ,至于 -s 则是 symbolic link ,鸟哥这里先不介绍, 因为这个涉及 i-node 的相关知识,我们还没有介绍到,下一章再来讨论这个 link 的问题喔! 总之,由于 cp 有种种的档案属性与权限的特性,所以,在复制时,您必须要清楚的了解到:
? 是否需要完整的保留来源档案的信息?
? 来源档案是否为连结档 (symbolic link file)?
? 来源档是否为特殊的档案,例如 FIFO, socket 等?
? 来源文件是否为目录?
发表评论
-
唐骏、学历门和魔术表演
2012-01-20 00:55 626唐骏、学历门和魔术表演 2011年04月15日 唐骏又吱 ... -
2011年第二周总结
2012-01-20 00:55 5332011年第二周总结 2011年01月17日 以前工作的 ... -
Android整体印象
2012-01-20 00:55 532Android整体印象 2010年11月21日 很多人觉 ... -
Scrum对于老板的价值何在?
2012-01-20 00:55 651Scrum对于老板的价值何 ... -
我们专业要用到的软件-AutoCAD系统要求,给即将买电脑的亲爱滴童鞋们点参考建议
2012-01-19 08:44 558我们专业要用到的软件-AutoCAD系统要求,给即将买电脑的亲 ... -
新萝卜家园 Ghost XP SP3 电脑城装机专用版 10.5
2012-01-19 08:44 716新萝卜家园 Ghost XP SP3 ... -
Photoshop教程(二):首选项的基本设置
2012-01-19 08:44 648Photoshop教程(二):首选项的基本设置 2011年0 ... -
zz:OpenGL实用开源代码列表
2012-01-19 08:44 1045zz:OpenGL实用开源代码列 ... -
国产手机软件
2012-01-17 01:13 591国产手机软件 2011年07月08日 mrp格式 ... -
Xcode 4.1免证书(iDP)开发+真机调试+生成IPA全攻略
2012-01-17 01:13 1051Xcode 4.1免证书(iDP)开发+ ... -
WinCE驱动开发问题精华集锦(二)
2012-01-17 01:13 702WinCE驱动开发问题精华 ... -
浅析Windows Phone 7之用户交互设计
2012-01-17 01:12 578浅析Windows Phone 7之用户交互设计 2010年 ... -
WinCE驱动开发问题精华集锦
2012-01-17 01:12 553WinCE驱动开发问题精华 ... -
AS3 编程易犯盲点――绝对对您有帮助,新手们都来看看吧
2012-01-15 19:53 476AS3 编程易犯盲点――绝对对您有帮助,新手们都来看看吧 2 ... -
最新高配电脑
2012-01-15 19:53 626最新高配电脑 2012年01月09日 电脑型号 技嘉 ... -
协议适配器错误的解决方法
2012-01-15 19:53 1059协议适配器错误的解决方法 2011年12月16日 Cas ... -
自己做的一组字符串操作方法,可能会用上。-azure2a-iteye技术网站
2012-01-11 12:06 536自己做的一组字符串操作方法,可能会用上。-azure2a-it ... -
PostConstruct understand
2012-01-11 12:06 662PostConstruct understand 2011年 ... -
学习jpetstore的SignonInterceptor类
2012-01-11 12:05 513学习jpetstore的SignonInterceptor类 ... -
struts2.0笔记
2012-01-11 12:05 591struts2.0笔记 2011年07月01 ...
相关推荐
Linux下的cp命令详解,希望对大家有用,谢谢合作!
Linux必备命令--之cp命令详解
Linux cp命令 Linux cp命令主要用于复制文件或目录。 语法 cp [options] source dest 或 cp [options] source... directory 参数说明: -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有...
Linux Find 命令详解 非常详尽
13. cp 14. mv 15. rm 16. find 17. grep 18. more 19. less 20. head 21. tail 22. cut 23. at 24. crontab 25. sleep 26. kill 27. ps pstree 28. top 29. expr 30. locate 31. split 33. man,info 34. alias 35....
Linux系统命令及其使用详解:cat cd chmod ch cp cut
本文为大家详细介绍Linux中cp命令和scp命令的使用。
本篇文章主要介绍了Linux 的cp命令详解, cp指令用于复制文件或目录,有兴趣的可以了解一下。
主要描述linux中常用到的命令:cd,ls,chown ,cp,cup,find,less,ln...等。
Linux常用命令 – 已学 cd (路径的切换) rm(后接-rf 可删除文件或文件夹) ls(查看当前路径下的文件和文件夹) mkdir(创建文件夹) touch(创建文件) cat(查看文件内容)mv (移动文件,也可以重命名...
Linux tcpdump命令 Linux tcpdump命令用于倾倒网络传输数据。 执行tcpdump指令可列出经过指定网络界面的数据包文件头,在Linux操作系统中,你必须是系统管理员。 语法tcpdump [-adeflnNOpqStvx][-c][-dd][-ddd][-F]...
Linux 系统命令及其使用详解 cat cd chmod chown cp cut 名称: cat cat cat cat 使用权限:所有使用者 使用方式: cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 >...
主要介绍了Linux 中的文件复制cp命令和scp命令详解的相关资料,需要的朋友可以参考下
Linux系统命令及其使用详解.doc Linux 系统命令及其使用详解(大全) (来源: 中国系统分析员) cat cd chmod chown cp cut 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [-...
大数据基础-Linux基础详解课程
linux常用命令大全 1.Linux管理文件和目录的命令 命令 功能 命令 功能 Pwd 显示当前目录 ls 查看目录下的内容 Cd 改变所在目录 cat 显示文件的内容 Grep 在文件中查找某字符 cp 复制文件 Touch 创建文件 mv 移动...