Linux常用命令 CP

本文详细介绍了Linux中复制命令`cp`的使用,包括如何复制文件和目录,以及各种选项如`-i`, `-a`, `-r`, `-l`, `-s`, `-u`, `-d`的功能和应用场景。通过实例演示了文件权限、链接文件(实体链接和符号链接)的复制,强调了在备份和权限管理中需要注意的事项。" 97802040,8485263,顺序表与链表:概念、结构与优缺点,"['数据结构', '顺序存储', '链式存储', '数组', '链表']

复制命令 cp

cp (复制文件或目录)
范例一:用root身份,将主文件夹下的 .bashrc 复制到 /tmp 下,并更名为 bashrc
在这里插入图片描述
重复作两次动作,由于 /tmp 下面已经存在 bashrc 了,加上 -i 选项后, 则在覆盖前会询问使用者是否确定!可以按下 n 或者 y 来二次确认呢!
在这里插入图片描述
范例二:变换目录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性:
在这里插入图片描述

注意上面的特殊字体,在不加任何选项的情况下,文件的某些属性/权限会改变;
这是个很重要的特性!要注意!还有,连文件创建的时间也不一样了!
那如果你想要将文件的所有特性都一起复制过来该怎办?可以加上 -a 实现!如下所示:
在这里插入图片描述
这个 cp 的功能很多,由于我们常常会进行一些数据的复制,所以也会常常用到这个指令的。 一般来说,我们如果去复制别人的数据 (当然,该文件你必须要有 read 的权限才行啊!) 时, 总是希望复制到的数据最后是我们自己的,所以,在默认的条件中, cp 的来源文件与目的文件的权限是不同的,目的文件的拥有者通常会是指令操作者本身。举例来说, 上 面的范例二中,由于我是 root 的身份,因此复制过来的文件拥有者与群组就改变成为 root 所 有了! 这样说,可以明白吗?
由于具有这个特性,因此当我们在进行备份的时候,某些需要特别注意的特殊权限文件, 例 如密码档 (/etc/shadow) 以及一些配置文件,就不能直接以 cp 来复制,而必须要加上 -a 或者是 -p 等等可以完整复制文件权限的选项才行!另外,如果你想要复制文件给其他的使用 者, 也必须要注意到文件的权限(包含读、写、执行以及文件拥有者等等), 否则,其他人 还是无法针对你给予的文件进行修订的动作喔!注意注意!

范例三:复制 /etc/ 这个目录下的所有内容到 /tmp 下面
在这里插入图片描述

如果是目录则不能直接复制,要加上 -r 的选项
在这里插入图片描述
还是要再次的强调喔! -r 是可以复制目录,但是,文件与目录的权限可能会被改变
所以,也可以利用“ cp -a /etc /tmp ”来下达指令!尤其是在备份的情况下!

范例四:将范例一复制的 bashrc 创建一个链接文件 (symbolic link)
在这里插入图片描述
在这里插入图片描述

使用 -l 及 -s 都会创建所谓的链接文件(link file),但是这两种链接文件却 有不一样的情况。这是怎么一回事啊? 那个 -l 就是所谓的实体链接(hard link),至于 -s 则 是符号链接(symbolic link), 简单来说,bashrc_slink 是一个“捷径”,这个捷径会链接到 bashrc去!所以你会看到文件名右侧会有个指向(->)的符号!

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

在这里插入图片描述

这个 -u 的特性,是在目标文件与来源文件有差异时,才会复制的。 所以,比较常被用于“备份”的工作当中!

范例六:将范例四造成的 bashrc_slink 复制成为 bashrc_slink_1 与bashrc_slink_2
在这里插入图片描述
在这里插入图片描述

这个例子也是很有趣喔!原本复制的是链接文件,但是却将链接文件的实际文件复制过来了 。也就是说,如果没有加上任何选项时,cp复制的是原始文件,而非链接文件的属性! 若要复制链接文件的属性,就得要使用 -d 的选项了!如 bashrc_slink_2 所示。

范例七:将主文件夹的 .bashrc 及 .bash_history 复制到 /tmp 下面
在这里插入图片描述

可以将多个数据一次复制到同一个目录去!最后面一定是目录!

例题:你能否使用 用户的身份(这里为ldz),完整的复制/var/log/wtmp文件到/tmp下面,并更名为 ldz_wtmp呢?
实际做看看的结果如下:

由于 ldz 的身份并不能随意修改文件的拥有者与群组,因此虽然能够复制wtmp的相关权限 与时间等属性, 但是与拥有者、群组相关的,原本 ldz 身份无法进行的动作,即使加上 - a 选项,也是无法达成完整复制权限的! 总之,由于 cp 有种种的文件属性与权限的特性,所以,在复制时,你必须要清楚的了解到: 是否需要完整的保留来源文件的信息? 来源文件是否为链接文件 (symbolic link file)? 来源文件是否为特殊的文件,例如 FIFO, socket 等? 来源文件是否为目录?

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值